zoukankan      html  css  js  c++  java
  • 判断一个js对象是否是Array

    今天在做题时遇到这个问题,找答案的时候,发现评论里大神好多 。

    在开发中,我们经常需要判断某个对象是否为数组类型,总结判断某个对象是否是数组的方法。

    1.typeof 操作符

    对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时,

    console.log(typeof([1,2,3]))        //object

    显然这个答案并不是我们想要的。

    2. instanceof 操作符

    JavaScript中instanceof运算符会返回一个 Boolean 值,指出对象是否是特定类的一个实例。 

    语法: A instanceof B,意思是对象A的原型是否是B.prototype。如果是,返回true,如果不是,返回false。

    使用方法:result = object instanceof class

    var arr = [1,2,3,4,5];
    console.log(arr instanceof Array);        //true

    看样子我们今天讨论的问题已经得到了解答,但事实上在多个frame中穿梭就会产生大问题了。

    3.Array.isArray( )

    使用ECMAScript 5新增的Array.isArray()方法。这个方法的作用就是确定某个值到底是不是数组,而不管它到底是在哪个全局执行环境中创建的。

    4.使用Object.prototype上的原生toString()方法

    使用方法:Object.prototype.toString.call(value)

    参考:https://www.cnblogs.com/fogwind/p/5884684.html

  • 相关阅读:
    this.$nextTick()的原理与使用场景
    vue中通过方法返回data中的对象是这个{__ob__: Observer}
    3月23日学习日志
    3月22日学习日志
    3月19日学习日志
    3月18日学习日志
    3月17日学习日志
    3月16日学习日志
    3月15日学习日志
    3月12日学习日志
  • 原文地址:https://www.cnblogs.com/a-peppa-pig/p/9650420.html
Copyright © 2011-2022 走看看