JavaScriptの関数にthisを指定して渡す

関数内でthisが使われている場合に関数内でつかわれるthisを明示的にするcallメソッド


<a href="javascript:void(0);" onclick="hoge.hello();">Hello world<a> <a href="javascript:void(0);" onclick="hoge.hello.call(hoge);">Hello world<a> <script> var Hoge = function(name){ this.name = name; } Hoge.prototype.hello = function(){ console.log("hello " + this.name); }; var hoge = new Hoge("world"); </script>

これらはどちらもhello worldを返します。
この例ではよく分からないと思いますが、実行場所によってthisの内容が変わってしまう場合にcallメソッドは有効です。