JavaScript抱怨我定义的函数

JavaScript抱怨我定义的函数,javascript,Javascript,我是JavaScript新手,我正在尝试编写一个调用几个成员函数的简单对象 令人惊讶的是,JavaScript抱怨一个名为uninstallLocalHost的函数 Error: uninstallLocalHost is not defined Source File: chrome://custombutton/content/button.js Line: 39 然而,看起来这个函数已经定义好了。 我可能做错了什么 var katimbaClass= { insta

我是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中,
这个
不是隐式的。您必须更改以下行:

if(bInstalled) uninstallLocalHost();
else installLocalHost();
对这些:

if(this.bInstalled) this.uninstallLocalHost();
else this.installLocalHost();
……或者,这些:

if(katimbaClass.bInstalled) katimbaClass.uninstallLocalHost();
else katimbaClass.installLocalHost();

在JavaScript中,
这个
不是隐式的。您必须更改以下行:

if(bInstalled) uninstallLocalHost();
else installLocalHost();
对这些:

if(this.bInstalled) this.uninstallLocalHost();
else this.installLocalHost();
……或者,这些:

if(katimbaClass.bInstalled) katimbaClass.uninstallLocalHost();
else katimbaClass.installLocalHost();

这会使它更简单吗

var katimbaClass = new function() {
    this.installLocalHost= function () {
        alert("localhost installed");    
    };
    this.uninstallLocalHost= function () {
        alert("localhost UnInstalled");    
    };
    // ETC ..

}


oncommand="katimbaClass.toggleInstall()"

这会使它更简单吗

var katimbaClass = new function() {
    this.installLocalHost= function () {
        alert("localhost installed");    
    };
    this.uninstallLocalHost= function () {
        alert("localhost UnInstalled");    
    };
    // ETC ..

}


oncommand="katimbaClass.toggleInstall()"

谢谢但奇怪的是,“这”不是explicit@Dr狄欧:你是说不含蓄?它是明确的。Javascript有时看起来像一种“奇怪”的语言:-)另外,请在谷歌搜索“Javascript范围和这个”。谢谢。但奇怪的是,“这”不是explicit@Dr狄欧:你是说不含蓄?它是显式的。Javascript有时看起来像一种“奇怪”的语言:-)此外,请在谷歌搜索“Javascript范围和此”。