【问题标题】:Why does the console displays typeof as object for an array? [duplicate]为什么控制台将 typeof 显示为数组的对象? [复制]
【发布时间】:2018-05-31 15:51:05
【问题描述】:

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

【问题讨论】:

  • 因为数组是具有特殊功能的对象。检查数组使用Array.isArray
  • 在 JavaScript 中,数组是用于构造新数组的对象。它们通常包含遍历和/或在其中变异的方法,因此在尝试执行 typeof 时它们显示为 Object

标签: javascript html console


【解决方案1】:
var a = []
typeof a
 ==> "object"

因为数组是继承自一个对象类型。如果你想检查它的Array或者不使用这个方法

 Array.isArray(a) ==> true

【讨论】:

  • @需要添加更多描述
【解决方案2】:

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

JavaScript Array 对象是一个全局对象,在 阵列的构造;它们是高级的、类似列表的对象

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-16
    • 2016-04-06
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    相关资源
    最近更新 更多