我有这个简单的Javascript代码编写一些模块,但我不知道为什么我得到的,即使我从内调用该函数不确定的结果:为什么这个JavaScript类返回undefined
window.onload = function() {
function testFunction() {
this.hours = null;
function getHours() {
return this.hours;
}
alert(getHours());
return {
getHours: function() {
return getHours();
}
}
}
var test = new testFunction();
alert(test.getHours());
}
我认为我在理解javascript中的THIS
关键字方面存在问题,并在javascript构造函数中使用它。
谢谢。
你的'getHours'函数中的'this'与它之外的'this'是不一样的。 –
@VsevolodGoloviznin有什么不同?我真的想明白这一点!谢谢你的评论。 – Mohammad
@Mohammad这很简单 - 如果你调用'obj.myFunc()',那么'this === obj'。但是如果你只是调用'myFunc()'然后调用'this === window''(或ES5严格模式中的'null'!) – Alnitak