Dưới đây là trả lời ngắn gọn và chính xác:
Trong javascript , mọi đối tượng đều có bánh bao ch của các cặp khóa-giá trị tích hợp có siêu thông tin về đối tượng. Khi bạn lặp qua tất cả các cặp khóa-giá trị bằng cách sử dụng cấu trúc/vòng lặp for...in
cho một đối tượng bạn đang lặp qua cặp khóa-giá trị thông tin meta này (bạn chắc chắn không muốn).
Sử dụng hasOwnPropery(property)
lọc-out những không cần thiết lặp thông qua meta-thông tin và trực tiếp kiểm tra đó là tham số property
là người sử dụng bất động sản được đưa ra trong các đối tượng hay không. Bởi bộ lọc-out, ý tôi là, hasOwnProperty(property)
không giống nhau, property
tồn tại trong chuỗi mẫu của Object hay còn gọi là siêu thông tin.
Nó trả về boolean true/false
dựa trên đó.
Dưới đây là một ví dụ:
var fruitObject = {"name": "Apple", "shape": "round", "taste": "sweet"};
console.log(fruitObject.hasOwnProperty("name")); //true
console.log(Object.prototype.hasOwnProperty("toString");) //true because in above snapshot you can see, that there is a function toString in meta-information
Tôi hy vọng đó là rõ ràng!
Nguồn
2017-09-26 11:28:10
http://stackoverflow.com/questions/2600085/hasownproperty-in-javascript –
Khi tôi hỏi câu hỏi này, tôi nghĩ rằng đó là một chức năng kiểm tra một số html. Bây giờ tôi thấy nó kiểm tra một đối tượng javascript hoặc phương pháp cho một 'biến' trong đối tượng hoặc phương pháp đó. thnx! – FLY
Hãy xem https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/HasOwnProperty –