2011-08-29 12 views
8

component.jsJak ten wzorzec jest wywoływany w JavaScript? czy ma imię?

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

})(); 

następnie w html

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

Pytam jest Widziałem go przez przykład i że to ma sens, ale jest ich każdy czytanie o tym, dlaczego to jest dobre ćwiczyć? to jest JavaScript zorientowany obiektowo?

jeśli to JEST OO javascript, czy ten wzór uczynić definicje prototypal bezużyteczne?

Dobra odpowiedź na powyższe pytanie

Javascript: Module Pattern vs Constructor/Prototype pattern?

+0

Tak wiele odpowiedzi, wszystkie różne ... – Blindy

Odpowiedz

0

Ów OOP w JS. Jego standardowa praktyka.

+0

Domyślam się, że powód, dla którego pytam, to nie widzę żadnych odniesień do prototypowych definicji ... – jondavidjohn

0

Jest to tak zwana funkcja samoczynnej powołując (anonimowy). component zwraca obiekt, który ma metodę init, więc możesz połączyć połączenia.

Powiązane problemy