2011-08-29 60 views
8

component.js這是什麼模式在Javascript中調用?它有一個名字嗎?

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嗎?

如果這樣IS OO javascript,這種模式是否使原型定義無用?

很好地回答了上面的問題

Javascript: Module Pattern vs Constructor/Prototype pattern?

+0

所以很多答案,所有不同的... – Blindy

回答

0

那OOP的JS。其標準做法。

+0

我想我問的原因是我沒有看到任何參考原型定義... – jondavidjohn

0

這就是所謂的自調用(匿名)功能。組件返回一個具有init方法的對象,因此您可以將這些調用鏈接在一起。

相關問題