1

您是否有任何理由想要调用在命名空间内定义的函数,该命名空间是使用显示模块模式使用其完全限定名称创建的?例如,下面的 A 与 B?

示例 A。

var namespace = (function defineNamespace() {

    function sayNoThankYou() { }

    function callMeMaybe() {
        sayNoThankYou();
    }

    return {
        callMeMaybe: callMeMaybe,
        sayNoThankYou: sayNoThankYou
    };

}());

示例 B。

var namespace = (function defineNamespace() {

    function sayNoThankYou() { }

    function callMeMaybe() {
        namespace.sayNoThankYou();
    }

    return {
        callMeMaybe: callMeMaybe,
        sayNoThankYou: sayNoThankYou
    };

}());
4

1 回答 1

1

namespace.sayNoThankYou();您的sayNoThankYou();示例之间只有一个区别:函数this内部的sayNoThankYou值。如果你不在this函数内部使用,它们是相同的。

于 2013-04-12T03:34:20.427 回答