jon*_*ohn 9 javascript design-patterns
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,这种模式是否会使原型定义变得无用?
对上述问题的答案很好