0
点赞
收藏
分享

微信扫一扫

对象for in


如果在原型对象上挂载属性也都会被for in出来,
但是例如 hasOwnProperty()、propertyIsEnumerable()、toLocaleString()、toString()和valueOf()
还有constructor的可枚举属性都会被置为false,所以不会枚举出来。
但是后期加在原型上的属性是会被循环出来的

function Book() {

};
Book.prototype.name = "围城";
var book1 = new Book();
book1.page = '999';
book1.author = 'lgz';
book1.name = "javascript编程设计"
// 既包括存在于实例中的属性,也包括存在于原型中的属性
// for(let pro in book1) {
// console.log(pro); //page author name
// }


// Object.defineProperty(book1,'name',{
// enumerable: false
// })
// Object.defineProperty(book1,'author',{
// enumerable: false
// })
for(let pro in book1) {
console.log(pro); //page author name
console.log(book1[pro]); //999 lgz javascriptavascript编程设计
}


举报

相关推荐

0 条评论