関数にオブジェクトを割り当てる
call apply を使用すると、任意のオブジェクトを関数に割り当てることができる
function MyFunc(name,age){ this.name = name; this.age = age; } function dispProp(){ for(p in this){ document.write(p+":"+this[p]); } } var obj = new MyFunc("taro",20); dispProp.call(obj); //=>age:20 //=>name:taro
※オブジェクトの要素一覧が表示される
これはオブジェクトに対して関数式をプロパティとして追加
(メソッドの追加)をした場合と似ている
function MyFunc(name,age){ this.name = name; this.age = age; } var obj = new MyFunc("taro",20); obj.dispProp = function(){ for(p in this){ document.write(p+":"+this[p]); } } obj.dispProp(); //=>age:20 //=>name:taro
上記を実行すると追加したプロパティの
dispProp も要素一覧として表示される点が異なる