これは私の前の質問Access instance variable inside a function in javascript?の後継の質問です。プロトタイプメソッド内の無名関数内のインスタンス変数にアクセスする
プロトタイプメソッド内の無名関数内のインスタンス変数にアクセスしたいと考えています。
function MyObject(){
//Instance variables
this.handler;
}
//Methods
MyObject.prototype.enableHandler = function(){
var button = document.getElementById('button');
button.onclick = function(){
this.handler();//Is not working
}
}
var myObject = new MyObject();
myObject.handler = function(){
alert('Hello World!');
}
myObject.enableHandler();
JSFiddle http://jsfiddle.net/3cmvZ/
上記の例では、Iプロトタイプメソッド内匿名関数の内部インスタンス変数にアクセスする方法を明らかにすることだけでした。私はすでにbutton.onclick = this.handler
が働いていることを知っています。
は例がちょうど私がプロトタイプメソッド内匿名関数の内部でインスタンス変数にアクセスする方法を明らかにすることであることに言及し忘れました。私はすでに 'button.onclick = this.handler'が動作することを知っています – einstein
@ Woho87 - 更新を参照してください。 –
'$ this.handler'を変更した場合、this.handlerも変更されますか? ' – einstein