美文网首页JavaScript
如何判断一个变量是数组

如何判断一个变量是数组

作者: 大漢帝国 | 来源:发表于2019-05-20 14:30 被阅读0次
    1. instanceof操作符
      这个操作符和JavaScript中面向对象有点关系,了解这个就先得了解JavaScript中的面向对象。因为这个操作符是检测对象的原型链是否指向构造函数的prototype对象的。
    var arr = [1,2,3,1];
    alert(arr instanceof Array); // true 
    

    2.对象的constructor属性
    除了instanceof,每个对象还有constructor的属性,利用它似乎也能进行Array的判断。

    var arr = [1,2,3,1];
    alert(arr.constructor === Array); // true 
    

    Array.isArray() 兼容性:
    ECMAScript5将Array.isArray()正式引入JavaScript,目的就是准确地检测一个值是否为数组。IE9+、 Firefox 4+、Safari 5+、Opera 10.5+和Chrome都实现了这个方法。但是在IE8之前的版本是不支持的。

    综上:

    var arr = [1,2,3,1];
    var arr2 = [{ abac : 1, abc : 2 }];
    function isArrayFn(value){
       if (typeof Array.isArray === "function") {
          return Array.isArray(value);
        }else{
          return Object.prototype.toString.call(value) === "[object Array]";
        }
    }
    //alert(isArrayFn(arr));// true
    //alert(isArrayFn(arr2));// true
    

    相关文章

      网友评论

        本文标题:如何判断一个变量是数组

        本文链接:https://www.haomeiwen.com/subject/kddkzqtx.html