我是 JavaScript 新手,我正在尝试编写一个调用一些成员函数的简单对象。
令人惊讶的是,JavaScript 提示一个名为 uninstallLocalHost
的函数。
Error: uninstallLocalHost is not defined
Source File: chrome://custombutton/content/button.js
Line: 39
但是,看起来这个函数已经定义了。 我可能做错了什么?
var katimbaClass=
{
installLocalHost:function()
{
alert("localhost installed");
},
uninstallLocalHost:function()
{
alert("localhost uninstalled");
},
toggleInstall:function()
{
if(bInstalled) uninstallLocalHost();
else installLocalHost();
},
bInstalled: false
};
当我尝试在其他地方调用 katimbaClass
的函数时,如下所示:
oncommand="katimbaClass.toggleInstall()"
我不明白为什么会出现以下错误:
Error: uninstallLocalHost is not defined
最佳答案
在 JavaScript 中,this
不是隐式的。您必须更改这些行:
if(bInstalled) uninstallLocalHost();
else installLocalHost();
致这些:
if(this.bInstalled) this.uninstallLocalHost();
else this.installLocalHost();
...或者,这些:
if(katimbaClass.bInstalled) katimbaClass.uninstallLocalHost();
else katimbaClass.installLocalHost();
关于JavaScript 提示我定义的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6401106/