- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- バックアップ を表示
- JavaScript/文法/関数/call()とapply() へ行く。
- 1 (2009-11-15 (日) 19:41:28)
- 2 (2009-11-15 (日) 20:05:47)
* call()とapply() [#q5687226] function func(v) { alert(v + this.name); } func('hello, '); ↑ではthis.nameが参照出来ないが、 var func = function (v) {alert(v + this.name);}; func.call({name:'taro'}, 'hello. '); ↑のようにcall()を使うと任意のオブジェクト({name:'taro'})に対して関数(func())を実行できる。この際、オブジェクトには何の変更もない。これを別の方法で実装すると、 var obj = {name:'taro'}; obj.func = function () {alert(v + this.name);}; obj.func('hello. '); delete obj.func; となる。