我喜欢以如下所示的 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/