私は以下のオブジェクトを持っています。私はsetTimeout
のコールバックの中から変数b
に到達しようとしていますが、うまくいきません。私は、setTimeoutのコールバックはその周囲の関数の変数しか知っていないことを知っています。どうすればthis.b
に到達できますか?ありがとうございました!関数を呼び出したオブジェクトの変数に到達する方法
function someFunc() {
this.a = 10;
this.b = 20;
this.func = function() {
this.c = 50;
console.log("a = " + this.a); //works
var time = setTimeout(function() {
console.log("b = " + someFunc.b); //this.b doesn't work
console.log("C = " + this.c); //why this doesn't work also? says undefined
},1000);
}
}
var m = new someFunc();
m.func();