【发布时间】:2012-02-06 07:32:18
【问题描述】:
var plugin = {
Init: function() {
this.UpdateUI();
if (this.Status() == 1) {
...
} else {
...
}
},
Status: function() {
...
},
UpdateUI: function() {
...
}
}
这是基本代码。问题是,在调用Init时,出现如下错误:
this.UpdateUI is not a function
this.Status is not a function
谁能告诉我我的代码有什么问题?
【问题讨论】:
-
能贴出调用
Init()的代码吗? -
范围问题,
this不是指插件,而是指初始化函数。如果您将 Status 和 UpdateUI 函数放在 init 函数中,那么您的代码将正常工作。我认为 bardiir 为您提供了正确的解决方案。 -
我认为我们刚刚发现了 javascript 的丑陋一面,根据对我的回答的投票,似乎对此有一些不同的观点:D
-
@CoryDanielson:我们不知道
this指的是什么,因为我们不知道Init是如何被调用的。但这不是范围问题,仅仅将函数放在Init函数中是行不通的。
标签: javascript oop function object