JavaScript 標準ライブラリ Function

出典: フリー教科書『ウィキブックス(Wikibooks)』

JavaScript > Functionオブジェクト

目次

[編集] Functionオブジェクト

[編集] プロパティ

[編集] length

この関数が取る引数の数を返す。

function foo(a,b,c){ return; } 
document.write( foo.length );	// 3が表示される。

既に前の項で説明をしているが、指定されている引数が3つであるからいって、引数が3つである必要は無い。

[編集] メソッド

[編集] toString()

関数の処理内容を文字列で返す。

[編集] call(thisArg [ , arg1 [ , arg2, … ] ] )

callはその関数を実行する。 また、関数に引数を与えたい場合には、callメソッドの第2引数以降に指定をする。 つまりは次の2文は等価である。

document.write( a("Hello") );
document.write( a.call( null, "Hello") ); 

callメソッドの存在意義は、第1引数があり、ここで親オブジェクトを指定可能である所である。 そのため、thisを一時的に上書きする等の使用法がある。

function foo(){
  this.x=10;
  (function(){
    document.write( this.x ); // 10が表示
  }).call(this);
} 

[編集] apply(thisArg, argArray)

callメソッドと同じく、メソッドを実行できる。 callメソッドとの違いは、引数に配列を与えると、これを展開して実行することである。

例えば、次の様に配列を自動で展開して実行可能である。

Math.max.apply( null, [1,5,8,9,2,10,30,5] ); 
ヘルプ