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.
Nguồn
2011-07-17 22:50:34