2012-09-30 25 views
11

thể trùng lặp:
Self-references in object literal declarationsTiếp cận JavaScript Object giá trị Literal trong cùng một đối tượng

Có truy cập đường giá trị của một tên thuộc tính trong cùng một đối tượng theo nghĩa đen? Một cái gì đó như thế này:

myFunction.init({ 
    varOne: 'something', 
    varTwo: this.varOne + 'something else' 
}) 
+0

Tất nhiên bạn có thể. Với getters và setters hoặc bằng cách tạo ra chức năng mà sau đó sửa chữa phạm vi của đối tượng. Không chắc tại sao câu trả lời khác lại được chọn –

Trả lời

14

Không, không có cách nào để truy cập vào đối tượng theo nghĩa đen hiện đang được xác định từ bên trong định nghĩa.

Nếu bạn muốn đặt thuộc tính dựa trên giá trị của các thuộc tính khác, thì bạn cần phải căn cứ cả hai giá trị bên ngoài (không phải là thuộc tính) hoặc chạy hàm khởi tạo sau khi đối tượng được xác định có thể đặt một số thuộc tính dựa trên các giá trị của các thuộc tính khác.

+0

Ok, cảm ơn bạn rất nhiều vì đã trả lời nhanh! Tôi sẽ phải tạo một biến bên ngoài và truy cập vào bên trong đối tượng. –

+0

Để biết thêm ví dụ, hãy xem: http://stackoverflow.com/questions/4616202/self-references-in-object-literal-declarations?lq=1 – Yosi

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