2011-08-29 32 views
8

component.jsMẫu này được gọi là gì trong Javascript? nó có tên không?

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

})(); 

sau đó trong html

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

Lý do tôi hỏi là tôi đã thấy nó bằng cách làm gương và nghĩ rằng nó có ý nghĩa, nhưng là bất kỳ đọc của họ về việc tại sao điều này là tốt thực hành? Javascript hướng đối tượng này là gì?

nếu điều này IS OO javascript, mẫu này có làm cho định nghĩa nguyên mẫu vô dụng không?

Tốt câu trả lời cho câu hỏi trên

Javascript: Module Pattern vs Constructor/Prototype pattern?

+0

Vì vậy, nhiều câu trả lời, tất cả khác nhau ... – Blindy

Trả lời

0

Thats OOP trong JS. Thực hành tiêu chuẩn của nó.

+0

Tôi đoán lý do tôi hỏi là tôi không thấy bất kỳ tham chiếu nào đến các định nghĩa nguyên mẫu ... – jondavidjohn

0

này được gọi là chức năng tự gọi (vô danh). component trả về một đối tượng có phương thức init, vì vậy bạn có thể kết nối các cuộc gọi với nhau.

Các vấn đề liên quan