美文网首页
面试题 -- 如何判断一个变量是数组还是对象

面试题 -- 如何判断一个变量是数组还是对象

作者: 开着五菱宏光的小白 | 来源:发表于2019-04-22 12:46 被阅读0次

    typeof

            var a = [1,2,3]
            var b = {
                c: 1
            }
            console.log(typeof a)
            console.log(typeof b)
    
    

    结果都是Object


    instanceof

            var a = [1,2,3]
            var b = {
                c: 1
            }
            console.log(a instanceof Array)      //true
            console.log(a instanceof Object)     //true
            console.log(b instanceof Array)      //false
            console.log(b instanceof Object)     //true
    
    

    数组也是对象


    constructor

      var a = [1,2,3]
            var b = {
                c: 1
            }
            console.log(a.constructor === Array)      //true
            console.log(a.constructor === Object)     //true
            console.log(b.constructor === Array)      //false
            console.log(b.constructor === Object)     //true  
    
    

    Object.prototype.toString.call()

         var a = [1,2,3]
            var b = {
                c: 1
            }
            console.log(Object.prototype.toString.call(a))      //[object Array]
            console.log(Object.prototype.toString.call(b))      //[object Object]
    
    

    Object.prototype.toString.call()结果更加精准


    相关文章

      网友评论

          本文标题:面试题 -- 如何判断一个变量是数组还是对象

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