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

YY3ai2ui24 22views 更新:2015年11月18日

関数内で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メソッドは有効です。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません