问题:
The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype
用for in会遍历对象自身的和继承的可枚举的属性(不含Symbol属性)的键名,所以需要过滤掉不需要的继承属性。
for (let key in boj) {
console.log(key, obj[key]);
}
JSLint会报错,循环里面加个if判断过滤掉原型属性就好
for (let key in boj) {
if (obj.hasOwnProperty(key)) {
console.log(key, obj[key]);
}
}

文章讲述了在JavaScript中,为了避免for...in遍历到对象原型上的属性并触发JSLint错误,应使用hasOwnProperty方法进行检查,只处理对象自身的属性。
2335

被折叠的 条评论
为什么被折叠?



