2011-07-17 27 views

Trả lời

9

Đối với một số khuôn khổ có lẽ (mặc dù prototypebackbone sử dụng initialize thay), nhưng không có gì đặc biệt về init chức năng trong đồng bằng cũ javascript

6

Tóm tắt là: Giống như những người khác nói - init bất động sản không phải là kỳ diệu trong Javascript.

Câu chuyện dài hơn: Các đối tượng Javascript chỉ đơn thuần là key-> value storages. Nếu bạn tự khởi tạo một đối tượng thì nó gần như trống rỗng - nó chỉ thừa kế một số thuộc tính từ nguyên mẫu của hàm tạo của nó. Đây là kết xuất mẫu từ trình kiểm tra Chrome:

> 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 = {} 

- như bạn có thể thấy, không có init trong danh sách. Gần nhất với init sẽ là constructor thuộc tính mà bạn có thể đọc về ví dụ: here.

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