読者です 読者をやめる 読者になる 読者になる

【JS】テストコード書き書きしながら関数の勉強

テスト駆動JavaScript

テスト駆動JavaScript

読んでます!

5.1関数の定義

関数の定義の方法には3種類
1.関数宣言
2.関数式(無名関数)
3.Functionコンストラクタ(動的コンパイルが必要なときに使う)

5.2関数呼び出し

呼び出しは2種類
1.直接呼び出し
2.call、applyを使った呼び出し(どのオブジェクトからでも呼び出せる!)
※P95のsliceを使ったサンプルがうまく動かない…

仮引数と実引数
メソッド内で仮引数にアクセスできる。argumentオブジェクトなるものが仮引数と動的な関係を持っていて、互いの変化を反映する。下記例参照。

function changeArg (a, b) {
  // bに42が代入されるとargument[1]も42に
  // bがundefの場合は代入は起こらない
  b = 42;

  // argument[0]に42が代入されるとaも42に
  arguments[0] = arguments[1];
  for (var i = 0; i < arguments.length; i++) {
    console.log(arguments[i]);
  }
  return a;
}

changeArg('a', 'b');
// 42
// 42

changeArg('a');
// undefined
// undefined