javascript - 将显示模块模式代码转换为模块模式

标签 javascript oop design-patterns module-pattern revealing-module-pattern

http://addyosmani.com/resources/essentialjsdesignpatterns/book/#modulepatternjavascript

我正在浏览上面的杰作。我仍然无法从上面的文章中得到两件事。

var myRevealingModule = (function () {

        var privateVar = "Ben Cherry",
            publicVar  = "Hey there!";

        function privateFunction() {
            console.log( "Name:" + privateVar );
        }

        function publicSetName( strName ) {
            privateVar = strName;
        }

        function publicGetName() {
            privateFunction();
        }


        // Reveal public pointers to
        // private functions and properties

        return {
            setName: publicSetName,
            greeting: publicVar,
            getName: publicGetName
        };

    })();

myRevealingModule.setName( "Paul Kinlan" );

相关问题: JavaScript design pattern: difference between module pattern and revealing module pattern?

我从上面的问题中理解了很多部分。任何人都可以将上面的揭示模块模式转换为传统的模块模式,以便我可以直观地看到差异。

最佳答案

模块模式代码如下所示:您可以看到 jsfiddle

var myModule = (function () {

    var privateVar = "Ben Cherry";

    function privateFunction() {
        console.log( "Name:" + privateVar );
    }

    return {
        setName: function( strName ) {
            privateVar = strName;
        },
        greeting: "Hey there!",
        getName: function() {
            privateFunction();
        }
    };

})();
myModule.setName( "Paul Kinlan" );

关于javascript - 将显示模块模式代码转换为模块模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23649974/

相关文章:

c# - 如何识别默认构造函数?

c# - 为什么 resharper 不喜欢将抽象类的属性隐藏在另一个抽象类中?

ios - 如何让两个自定义 UICollectionViewCell 类共享相同的变量名

c# - 验证检查在存储库模式中的什么位置?

java - 适配器设计模式 - 方法调用或构造函数中的依赖关系?

javascript - 迭代数组时每三个元素换行一次

javascript - 编写自定义表单控件以在 Vue.js 中使用 v-model

javascript - 如何在React Native中完全关闭应用程序后保留应用程序的内存

java - 带有过滤器的观察者模式,在什么级别进行过滤?

javascript - scrapy填写POST表单