by shigemk2

当面は技術的なことしか書かない

JavaScript Ninjaの極意 3 関数の呼び出し

関数の呼び出しかた

  • 関数のパラメータリストと、実際の引数のリストは、長さが違うことがある
    • 引数が割り当てられないパラメータはundefinedと評価される
    • 余分な引数があってもパラメータ名と結合されないだけである
  • 関数呼び出しでは暗黙のパラメータが2つ渡される
    • argumentsは実際に渡された引数のコレクションである
    • thisは呼び出しコンテクストとしての役割を果たすオブジェクトへのリファレンスである
  • 関数は様々な方法で呼び出すことが出来る。その呼び出し機構によって、呼び出しコンテクストの値が決まる
    • 単純な関数として呼び出すとき、コンテクストはグローバルオブジェクト
    • メソッドとして呼び出すとき、コンテクストは、そのメソッドを所有するオブジェクトである
    • コンストラクタとして呼び出すとき、コンテクストは新たに割り当てられたオブジェクトである
    • 関数のapply()またはcall()メソッドを介して呼び出すとき、コンテクストは任意に設定出来る