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

时间:2017-12-18 10:12:19

标签: javascript html console

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

2 个答案:

答案 0 :(得分:0)

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

因为Array是从一种对象继承而来的。如果要检查它是否为Array,那么请使用此方法

 Array.isArray(a) ==> true

答案 1 :(得分:0)

好吧因为在Javascript中一个数组 IS 是一个对象。查看文档here

  

JavaScript Array对象是一个在其中使用的全局对象   阵列的构建;这是高级的,类似列表的对象

     

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