2012-01-27 15 views

Trả lời

10

Thuộc tính của đối tượng phải được liệt kê nếu bạn muốn có thể truy cập vào nó khi bạn lặp qua tất cả các thuộc tính đối tượng. Ví dụ:

var obj = {prop1: 'val1', prop2:'val2'}; 
for (var prop in obj){ 
    console.log(prop, obj[prop]); 
} 

Trong loại instantiation, đếm được là luôn luôn đúng, điều này sẽ cung cấp cho bạn một sản lượng:

prop1 val1 
prop2 val2 

Nếu bạn đã sử dụng Object.create() như sau:

obj = Object.create({}, { prop1: { value: 'val1', enumerable: true}, prop2: { value: 'val2', enumerable: false} }); 

vòng lặp for của bạn sẽ chỉ truy cập vào prop1, chứ không phải prop2. Sử dụng Object.create() các thuộc tính được thiết lập với enumerable = false theo mặc định.

+0

Lưu ý rằng 'enumerable' mặc định là false trong' Object.create' – Raynos

+0

cảm ơn, tôi đã được đề cập đến instantiation khác. Tôi quên đề cập đến. Tôi sẽ chỉnh sửa câu trả lời của mình –

+0

Cảm ơn — đã xóa nó cho tôi =] – ryanve

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