我喜欢以如下所示的 namespace 样式来组织我的JavaScript。我想知道的是:还有另一种(更短的方法)从myFirstFunction()调用mySecondFunction()的方法吗?我尝试了this.myFirstFunction(),但它不起作用,因此这里可能存在某种我不知道的神秘技巧。

var myNameSpace = {
    myFirstFunction: function(){
        alert("Hello World!");
    },
    mySecondFunction: function(){
        myNameSpace.myFirstFunction();
    }
}

SO人士,感谢您像往常一样的帮助! :)

最佳答案

如您的示例代码中所写,this.myFirstFunction()将起作用。您的代码可能已简化以说明您的问题,因此可能有助于查看实际代码以说明为什么它不适用于this

失败的一个可能原因是,您调用this.myFirstFunction()的代码是否在闭包内部。如果是这样,this将是对关闭函数的引用,而不是对您的命名空间的引用,因此将失败。请参阅here以获取基于您的代码的人为示例,以了解我的意思。同样,查看实际代码可能会有助于诊断正在发生的情况。

关于javascript - 如何在相同的javascript namespace 中调用另一个函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4083669/

10-11 20:06