zoukankan      html  css  js  c++  java
  • js检测数据类型的方法你都掌握了几个?

    数据类型检测

     1 typeof检测
     2 var obg = {};
     3 var ary = [];
     4 var reg = /^$/;
     5 var fn = function () {};
     6 var num = 1;
     7 var bool = true;
     8 var nul = null;
     9 var undef = undefined;
    10 var str = "";
    11 console.log(typeof obg);//"object"
    12 console.log(typeof ary);//"object"
    13 console.log(typeof num);//"number"
    14 console.log(typeof reg);//"object"
    15 console.log(typeof fn);//"function"
    16 console.log(typeof bool);//"boolean"
    17 console.log(typeof nul);//"object"
    18 console.log(typeof undef);//"undefined"
    19 console.log(typeof str);//"string"*/

    typrof不能具体细分是正则、数组、null、对象,因为用typeof检测的时候结果都是"object"

    2、instanceof检测,只要在实例的原型链上检测出来的结果都是true

     1 var num = 1;字面量方式创建
     2 console.log( 1 instanceof Number); ->false
     3 var num = new Number(1);实例方式创建
     4 console.log( num instanceof Number);->true
     5 var ary = [];
     6 console.log(ary instanceof Array);->true
     7 console.log(ary instanceof Object);->true
     8 var fn = function () {};
     9 console.log(fn instanceof Function);->true
    10 console.log(fn instanceof Object);->true
    
    
     1 var num = 1;字面量方式创建
     2 console.log( 1 instanceof Number); ->false
     3 var num = new Number(1);实例方式创建
     4 console.log( num instanceof Number);->true
     5 var ary = [];
     6 console.log(ary instanceof Array);->true
     7 console.log(ary instanceof Object);->true
     8 var fn = function () {};
     9 console.log(fn instanceof Function);->true
    10 console.log(fn instanceof Object);->true
    3、constructor 构造函数可以处理基本数据类型检测

    1     var ary = [];
    2     console.log( ary.constructor === Array);
    3     var num = 1;
    4     console.log(num.constructor === Number)
    4、Object.prototype.toString.call最准确最常用的方法

     1     var ary = [];
     2     var reg = /^$/;
     3     var fn = function () {};
     4     var num = 1;
     5     var bool = true;
     6     console.log(Object.prototype.toString.call(ary));->[object Array]
     7     console.log(Object.prototype.toString.call(reg));->[object RegExp]
     8     console.log(Object.prototype.toString.call(fn));->[object Function]
     9     console.log(Object.prototype.toString.call(num));->[object Number]
    10     console.log(Object.prototype.toString.call(bool));->[object Boolean]
  • 相关阅读:
    在服务器上搭建java环境
    往Android studio中导入类库文件
    Android异步任务AsyncTask
    搭建java环境
    使用安卓实现一个二维码扫描功能(基于Android Studio)
    Android中的runOnUiThread
    网络基础
    Android使用URL访问网络资源
    21天学通VC++
    cometd(转)
  • 原文地址:https://www.cnblogs.com/wuxianqiang/p/6445122.html
Copyright © 2011-2022 走看看