繁体   English   中英

为什么Array.prototype只在控制台中输出[]?

[英]why Array.prototype only output [] in console?

String.prototype

String {}

Object.prototype中

Object {}  

Boolean.prototype

Boolean {}

Array.prototype输出[] ,为什么不是Array []或其他东西? 发生了什么?

我查看了ECMA规范和V8源代码,但我无法得到具体答案。

根据ECMA-262规范 ,每个对象必须具有所有基本内部方法的算法,但是,所有对象不一定对这些方法使用相同的算法,这意味着输出将是特定于实现的,至少在[ [GetPrototypeOf]]

因此,如果您在不同的浏览器中尝试相同的操作,您会注意到每个浏览器的输出略有不同。

Internet Explorer 11:

Array.prototype
[object Array]  []

String.prototype
[object String]  {length:0}

Object.prototype
[object Object]  {}

Boolean.prototype
[object Boolean]  {}

火狐:

Array.prototype
[object Array]

String.prototype
[object String]

Object.prototype
[object Object]

Boolean.prototype
[object Boolean]

Chrome和Opera:

Array.prototype
[]

String.prototype
String {}

Object.prototype
Object {}

Boolean.prototype
Boolean {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM