javascript - 为什么 Object.prototype.toString.call(arr) 返回 [object Object] 而不是 [object Array]?

标签 javascript

请看下面的代码

function Abc(){}

Abc.prototype=new Array();

var arr= new Abc();

以下条件返回 true..

1) Array.prototype.isPrototypeOf(arr);//true

2) arr instanceof Array //true

但是Object.prototype.toString.call(arr);正在返回[object Object]

为什么它返回 [object Object]而不是[object Array]

谢谢!

最佳答案

toString获取“O 的 [[Class]] 内部属性的值”。它不会查找原型(prototype)链。

关于javascript - 为什么 Object.prototype.toString.call(arr) 返回 [object Object] 而不是 [object Array]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34287758/

相关文章:

javascript - 通过 Javascript 重置 Google map 中的 map 中心

javascript - 防止 SweetAlert2 从 willClose 中关闭/解除?

javascript - 如何在 Mapbox GL JS 上的 setHtml 内设置事件?

Android 浏览器中的 JavaScript 按键事件验证

javascript - Stylus (CSS) 的客户端使用

javascript - Angular 模块的可扩展全局配置

javascript - 为什么要设置原型(prototype)构造函数?

javascript - 滚动页面时获取Ypostion

javascript - 如何衡量 Angular.js 应用程序(而非 REST 服务)的性能

javascript - 如何在页面未完全加载时显示正在加载的 gif