Object.prototype.a = 10; var obj = {b: 20}; Object.defineProperty(obj, 'c', {enumerable: false, value: 30}); for (let k in obj) {console.log(k);} 输出是什么?
考察说明
考察 for-in 遍历可枚举属性及原型链行为
回答思路
- 理解 for-in 会遍历自身和继承的可枚举属性
- 识别 Object.defineProperty 设置 enumerable:false 的属性不被遍历
- 按顺序输出 b 和 a
- 说明为何不输出 c
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。