为什么 Array.prototype 的类型是数组, 而 Object.prototype 是对象
看看下面:
Array.isArray(Array.prototype) //true.
当从chrome浏览器控制台打印出来后
[constructor: ƒ, concat: ƒ, pop: ƒ, push: ƒ, shift: ƒ, …]
但是却不能得到 Array.prototype[0], Array.prototype[1]... or Array.prototype.length
但是Object.prototype 却是
{constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ,
hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}
为什么啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Array.prototype是一个数组,同时也是一个对象,意味着除了0,1,2。。。等数字索引外还可有有其他的键,它现在是一个空数组,当然没有0,1,2项了
请参考 Array.prototype - JavaScript | MDN 中这段话:
Array.prototype 打印得出的是它的构造函数 和原型,就是它的实例 空对象
如Number.prototype 是Number { 0 }
String.prototype 是 String { "" }
所有对象都是用.的方式去获取