2011-07-17 7 views

Odpowiedz

9

Dla niektórych ram być może (choć prototype i backbone użycie initialize zamiast), ale nie ma nic szczególnego o funkcjach init w zwykły stary javascript

6

Streszczenie: Jak inni mówią - init nieruchomość nie jest magia JavaScript.

Dłuższa historia: obiekty JavaScript są po prostu plikami klucza-> wartościowymi. Jeśli tworzysz obiekt samodzielnie, jest on prawie pusty - dziedziczy on tylko niektóre właściwości z prototypu swojego konstruktora. To jest nora próbka z Chrome inspektora:

> obj = {} 
Object 
+-__proto__: Object 
|-__defineGetter__: function __defineGetter__() { [native code] } 
|-__defineSetter__: function __defineSetter__() { [native code] } 
|-__lookupGetter__: function __lookupGetter__() { [native code] } 
|-__lookupSetter__: function __lookupSetter__() { [native code] } 
|-constructor: function Object() { [native code] } 
|-hasOwnProperty: function hasOwnProperty() { [native code] } 
|-isPrototypeOf: function isPrototypeOf() { [native code] } 
|-propertyIsEnumerable: function propertyIsEnumerable() { [native code] } 
|-toLocaleString: function toLocaleString() { [native code] } 
|-toString: function toString() { [native code] } 
|-valueOf: function valueOf() { [native code] } > obj = {} 

- jak widać, nie ma init na liście. Najbardziej zbliżona do init będzie właściwość constructor, o której można przeczytać np. here.

Powiązane problemy