zoukankan      html  css  js  c++  java
  • ES6对象类型判断

    数组对象

    var arr=[{"name":"ls","age":12},{"name":"jason","age":22},12];

    1、 typeof 判断

    console.log( typeof arr)
    console.log( typeof arr=='object')
    //typeof的一个不好的地方就是它会把Array还有用户自定义函数都返回为object

    2、构造函数指针 判断

    console.log(arr.constructor.name)
    console.log(arr.constructor.name==Array)
    console.log(arr.constructor.name=='Array')
    //打印构造函数指针
    console.log(a.constructor)
    function Array() { [native code] }
    //打印Array函数
    console.log(Array)
    function Array() { [native code] }
    //两个完全一致的函数作比较
    console.log(a.constructor==Array)
    true
    

    3、instranceof 判断

    console.log( arr instanceof Array)
    //利用typeof和constructor进行严格判断
     console.log((typeof arr=="object") && (arr.constructor==Array))
     console.log((typeof arr=="object") && (arr.constructor.name=='Array'))
    

    4、原型函数 判断

    console.log(Object.prototype.toString.call(arr));
    //封装改进后的函数
    console.log(type(arr));
    var class2type = {},     //用于记录[object class]样式  
    objs = "Boolean Number String Function Array Date RegExp Null Undefined".split(" ");  
    for (var i = 0, l = objs.length; i < l; i++) {  
         class2type[ "[object " + objs[i] + "]" ] = objs[i].toLowerCase();  
    }  
    function type(obj) {  
         return class2type[ Object.prototype.toString.call(obj) ] || "object";  
    }
    
  • 相关阅读:
    python自动化测试框架的unittest与pytest前后置条件的区别
    XPTH定位总结
    自动化用例设计原则
    python 自动化测试框架unittest与pytest的区别
    Appium工作原理
    Fiddler抓包过滤
    monkey介绍及常用命令
    怎样安装python的 模块、 包、 库方法总结
    安装uiautomator2 + python 自动化环境
    APP自动化,怎样让应用不重置?
  • 原文地址:https://www.cnblogs.com/xidianzxm/p/13219041.html
Copyright © 2011-2022 走看看