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]
  • 相关阅读:
    调研当前大学生的三个痛点
    作业-- 统计文本文件中的字符数、单词数、行数
    我的课程表--项目需求分析
    Android随机生成四则运算
    校友信息管理&SNS互动平台之前言、目录及说明
    校友信息管理&SNS互动平台之技术框架选择
    校友信息管理系统&SNS互动平台之用户需求及概要设计
    WordPress文件上传与下载问题解决
    oc - NSArray基础用法总结
    AutoLayout 使用详细
  • 原文地址:https://www.cnblogs.com/wuxianqiang/p/6445122.html
Copyright © 2011-2022 走看看