我尝试执行此代码:
var system = new Object();
(function($) {
$.init = function() {
var o = {
message: function(arg) {
return arg.val;
},
alert: this.message({
val: "Hello, world."
})
};
return o.alert;
};
})(system);
alert(system.init());
但是,当我执行它时,我收到错误消息,告诉我 this.message 不是函数。显然,this
不是指对象o
本身,我想知道为什么。我在stackoverflow上找到了一些解决方案,this
总是在函数体内,但为什么this
不能在函数体内?谢谢。