相关疑难解决方法(0)

如何在JavaScript中"正确"创建自定义对象?

我想知道创建一个具有属性和方法的JavaScript对象的最佳方法是什么.

我已经看到了这个人在所有函数中使用var self = this然后使用的示例,self.以确保范围始终正确.

然后我看到了使用.prototype添加属性的示例,而其他人则使用内联方式.

有人可以给我一个具有一些属性和方法的JavaScript对象的正确示例吗?

javascript

464
推荐指数
7
解决办法
13万
查看次数

这个模式在Javascript中调用了什么?它有名字吗?

component.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);
        }
   };

})();
Run Code Online (Sandbox Code Playgroud)

然后在HTML中

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

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

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

对上述问题的答案很好

Javascript:模块模式与构造函数/原型模式?

javascript design-patterns

9
推荐指数
1
解决办法
270
查看次数

标签 统计

javascript ×2

design-patterns ×1