javascript - 这种模式在 Javascript 中叫什么?它有名字吗?

标签 javascript design-patterns

组件.js

var component = (function(){

    var self;

    var default_options = {
        array_option : [],
        string_option : "default"
    };

    return {

        other_function: function(args) {

        },
        init: function(options) {
            self = this;

            // merge in user options 
            for (var attr in options) { 
                if (options.hasOwnProperty(attr)) {
                    self.o[attr] = options[attr];
                }
            }            

            /***
             * Initialize component
             */

            self.other_function(args);
        }
   };

})();

然后在 html 中

<script src="component.js"></script>
<script>
    // init the component
    component.init({
        array_option : [1,2,3],
    });
</script>

我问的原因是我已经通过示例看到它并认为它有道理,但他们是否阅读过为什么这是好的做法?这是面向对象的 Javascript 吗?

如果这 OO javascript,这种模式是否会使原型(prototype)定义变得无用?

上述问题的好答案

Javascript: Module Pattern vs Constructor/Prototype pattern?

最佳答案

Javascript Module Pattern是的,它试图用 encapsulation 模仿 OO 编程

关于javascript - 这种模式在 Javascript 中叫什么?它有名字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7234732/

相关文章:

javascript - 当字符串是 Angular Iframe 标记时如何使用 innerHTML

javascript - Electron 响应并不总是返回 'end'

javascript - 单击事件在触发一次 Backbone js 后停止工作

python-3.x - 我无法在hackerrank python中提交此代码?

wpf - 在WPF应用程序中使用MVVM和DDD,而没有太多的类

c# - 在函数参数中传递 List<int> 并包含超过 10 条 lac 记录?

javascript - 在Phonegap(或类似)环境中使用js提示输入密码值有什么危险

asp.net-mvc - 在这种模式中,业务逻辑应该在哪里?

java - 责任链 [GoF] 缺点

javascript - 状态改变了,但是 react 的 render 方法没有触发