美文网首页
检测数组性质

检测数组性质

作者: TingsLee | 来源:发表于2016-08-29 17:20 被阅读0次

    1.以操作符typeof操作数组,会返回object

    var arr = [1, 2, 3]; typeof(arr) // object

    2.使用instanceof操作符检测数组

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

    PS: 在大部分情况下是正确的,但是在IE浏览器中不同框架下运行会有错误,具体参考附图

    3.ECMAscript5中定义了一个新方法Array.isArray(),该函数在参数为数组时返回true

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

    4.在不支持Array.isArray()方法的情况下,可以通过以下代码实现该方法:

    if (typeof Array.isArray === 'undefined') { Array.isArray = function (arg) { return Object.prototype.toString.call(arg) === "[object Array]"; } }

    PS: 在传入参数是对象则返回"[object Object]",传入参数是数组时返回"[object Array]"



    原文链接

    javascript 为啥不用instanceof检测数组,这里有一个示例坑 - QQLQ - 博客园.png
    )

    相关文章

      网友评论

          本文标题:检测数组性质

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