js中判断一个变量是否是数组

总所周知,我们判断一个变量的类型常用typeof方法,但是该方法只能判断String,number,boolean,等等原始数据类型,对于object引用数据类型则无法准确判断
以下我总结了5种判断数组的方法

 //判断一个变量是否是数组
        var arr=[1,2]
        //1 判断父对象是否是构造函数Array 的原型对象
        arr.__proto__==Array.prototype
        //2  判断父对象的构造函数是否是Array
        arr.constructor==Array
    //3 用toString()方法判断一个对象的class属性,但是只有Object的原型对象可以用
        //用该api使子对象直接使用Object的原型对象的toString方法
        Object.prototype.toString.call(arr)=="[object Array]"
        //4 使用静态方法Array.isArray(),查看对象的class属性
        Array.isArray(arr)
        //5 让子对象直接继承Object的原型对象,用Object原型对象的toString方法查看
        // 子对象的class属性
        arr.__proto__=Object.prototype
        arr.toString()

猜你喜欢

转载自blog.csdn.net/weixin_44494811/article/details/87531574
今日推荐