こもろぐ @tenkoma

What We Find Changes Who We Become -- Peter Morville著『アンビエント・ファインダビリティ 』

広告:本ブログで紹介している書籍等商品の紹介でAmazonアソシエイトを利用していることがあります。

apply(), call()そしてthis

JavaScript 第5版 p.138 8.6.4
d:id:tenkoma:20071002:1191342972
再び、p.138の説明を読みましたが、やっぱりcall()の存在意義ってなに?って思った。apply()の方は、引数を配列で渡せるメリットがある、というのが、今までの理解。
google検索して見つかったhttp://blog.hawklab.jp/item-60.htmlを読んで、一般的な違いがわかった気がする。thisが指すものが変わると。
グローバル関数をそのまま呼び出すと、thisはグローバルオブジェクトを指すが、func.call(obj,arg1,arg2)のように呼び出すと、thisはオブジェクトobjを指すようになる。これで、p.138の、関数f()を、オブジェクトoのメソッドであるかのように呼び出すの意味をとりあえず理解した。