これについて他のいくつかの例を見てきましたが、それらはすべて私がやろうとしていることに対して非常に複雑であり、それらを私の問題に適用する方法を理解していません. だからここに私の願わくば単純な問題があります:
function myObject(){
this.aVar = 0;
var aFunction = function(aParam){
console.log(aParam);
}
this.theCallerFunction = function(){
setTimeout(function(){ aFunction(this.aVar)},5000);
}
}
問題は、aFunction の内部で、パラメーター値が「未宣言」であり、0 ではないため、「未宣言」と出力していることです。ここで何が起こっているかについて、誰かが簡単な解決策と説明を教えてくれますか?
私はオブジェクト指向の c# と Java を何年もやっていますが、JavaScript の oo に頭を悩ませています。