得到真正的类型原型vs构造函数?

时间:2012-01-28 20:26:13

标签: javascript

我希望看到[]的实际类型。

我一直以为我可以使用apply方法或构造函数。

所以我试过了:

[].constructor - >(向我展示)function Array() { [native code] }

[].constructor.constructor - >(向我展示)function Function() { [native code] }

Object.prototype.toString.apply([]) - >(向我展示)"[object Array]"


问题

1)相信谁?

2)为什么第2行不同?

1 个答案:

答案 0 :(得分:2)

  

1)相信谁?

所有这些。他们都是正确的

  

2)为什么第2行不同?

因为[].constructor是一个函数,函数的.constructorFunction构造函数。

最后一行是为您提供对象的内部 [[Class]] 属性。只有将对象设置为通用toString()方法的上下文才能访问它,该方法仅在Object.prototype上可用。