我已经为此查看了其他一些示例,但是对于我正在尝试做的事情来说,它们都非常复杂,并且不了解如何将它们应用于我的问题。所以这是我希望的简单问题:
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,而 oo 在 javascript 中正在努力。