2017-12-18 374 views
0

为什么控制台显示typeof作为数组的对象?

var array = new Array("sfsdf", "sdvgsdfswde"); 
 
console.log(typeof array);

+1

因为数组是具有特殊功能的对象。用于检查数组['Array.isArray'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)。 –

+0

在JavaScript中,数组是一个用于构造新数组的对象。它们通常包含遍历和/或在它们内部进行变异的方法。因此,它们在尝试执行类型 – rand0m

回答

0
var a = [] 
typeof a 
==> "object" 

因为数组是从类型要检查它的Array或者没有,那么用这种方法object.if的在Javascript继承

Array.isArray(a) ==> true 
+0

@需要添加更多描述时显示为对象 – zabusa

0

很好,因为阵列IS一个对象。检查文档here

JavaScript Array对象是一个全局对象,用于 构造数组;它们是高级的类列表对象

数组是类列表对象,其原型具有执行遍历和变异操作的方法。 JavaScript 数组的长度及其元素的类型都不固定。由于数组的长度 可以随时更改,并且数据可以存储在数组中的非连续的 位置,所以JavaScript数组不会保证为 稠密;这取决于程序员如何选择使用它们。一般而言,这些是便利的特征;但如果这些功能 不适合您的特定用途,则可以考虑使用 类型的数组。

相关问题