console.log(Object.prototype); // -> "{}"
我希望console.log(Object.prototype)输出一些属性或类似“toString”的方法。
为什么不呢?
答案 0 :(得分:6)
默认方法未标记为可枚举,因此在查看Object.prototype
时无法显示。
原因很简单:当使用for(var prop in object)
查看某个对象或更重要的迭代其属性时,通常不希望看到任何默认方法。当然,人们总是可以在这样的循环中使用obj.hasOwnProperty(prop)
检查,但是通过知道默认情况下Object.prototype
上没有任何可枚举的东西(并且良好的代码不会添加可枚举的属性),这是非常舒服的。它也是。)