Trong mọi hướng dẫn JavaScript mà tôi đã xem có một số nội dung được đề cập về thuộc tính của một đối tượng. Nhưng tại sao họ gọi nó là tài sản? ví dụ. constructor property, var a = function {this.b} trong đó b được gọi là property. Theo như tôi biết tài sản có getter và/hoặc setter, vì vậy những người nên được gọi là lĩnh vực, phải không?JavaScript: các trường hoặc thuộc tính
Trả lời
Một số nhà cung cấp trình duyệt đã triển khai getters/setters cho thuộc tính JavaScript.
FF và Webkit có __defineGetter__
và __defineSetter__
được triển khai cho đối tượng DOM và nhận và đặt cho Đối tượng nằm ngoài đặc tả ECMA. Tuy nhiên cả IE 8+ đều có Object.defineProperty (từ đặc tả ECMA). Đọc về nó here
Đối với bạn câu hỏi ban đầu, tôi sẽ nói rằng lý do được gọi là thuộc tính trong JavaScript là ngôn ngữ động và đánh dấu cơ bản chỉ sử dụng thuộc tính và biến cục bộ. Vì mọi thứ đều liên kết với một hệ thống phân cấp phạm vi cụ thể, tất cả những gì bạn có là các nhánh cây khác nhau trên mỗi cấp. Và Douglas Croockford đặt tên cho chúng là các thuộc tính :)
Giống như với hash
, map
, dictionary
và associative array
; các ngôn ngữ khác nhau muốn gọi chúng là những thứ khác nhau. Thuật ngữ (không may) không được chuyển nhượng 100% giữa các ngôn ngữ lập trình.
- 1. Các trường hoặc thuộc tính chỉ đọc
- 2. Ghi đè các trường hoặc thuộc tính trong lớp con
- 3. C# Các thuộc tính trên các trường
- 4. C# Phản ánh lấy trường hoặc thuộc tính theo tên
- 5. Trong lớp chứa, sử dụng thuộc tính hoặc trường?
- 6. nhận các thuộc tính động trong javascript
- 7. Tạo thuộc tính javascript như thuộc tính C#
- 8. Các loại thay thế kiểu trường thực thể Symfony2 thành "thuộc tính" hoặc "__toString()"?
- 9. C# - đoạn trích hoặc mẫu để gán nhanh tất cả các trường/thuộc tính?
- 10. Trình khởi tạo trường không thể tham chiếu trường, phương thức hoặc thuộc tính không tĩnh?
- 11. Refactor C# thuộc tính tự động cho các trường và thuộc tính getter/setter?
- 12. javascript: cách truy cập các thuộc tính tĩnh
- 13. Cách các trường và thuộc tính tên tốt nhất
- 14. các cửa hàng thuộc tính của một trường Lucene
- 15. Thuộc tính trường Chỉ mục RavenDb
- 16. Một môi trường JavaScript JavaScript giàu tính năng?
- 17. Sự khác biệt chính xác giữa thuộc tính currentTarget và thuộc tính đích trong javascript
- 18. đèo vars JavaScript qua SRC thuộc tính
- 19. JavaScript: Inline Script với thuộc tính SRC?
- 20. Sự kiện thay đổi thuộc tính javascript
- 21. Cập nhật thuộc tính đối tượng javascript?
- 22. MonoTouch - Trường so với Thuộc tính tự động
- 23. Thuộc tính của đối tượng hàm Javascript
- 24. Tôi có nên sử dụng các thuộc tính công khai và các trường riêng tư hoặc các trường công khai cho dữ liệu không?
- 25. C#: Giới hạn phạm vi của trường chung cho phương thức/thuộc tính HOẶC giữ nguyên giá trị của biến cục bộ/thuộc tính giữa các cuộc gọi
- 26. Thêm thuộc tính vào mảng javascript
- 27. Sao chép thuộc tính đối tượng Javascript
- 28. C# Sử dụng trường hoặc thuộc tính trong cùng một lớp
- 29. Tôi cần xác định __setattr__ để gán các trường không có thuộc tính, nhưng sử dụng hàm setter/getter cho các trường có thuộc tính được xác định
- 30. lxml: Unknown includemode hoặc @method thuộc tính
Ok. 10x. Dường như có một số người khởi xướng và thiết lập [ECMA] (http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf) 8.6.1. – bliof