zoukankan      html  css  js  c++  java
  • 判断数据类型的方式以及各自的优缺点

    一、typeof

    console.log(typeof 1);               // number
    console.log(typeof true);            // boolean
    console.log(typeof 'mc');           // string
    console.log(typeof function(){});    // function
    console.log(typeof []);              // object 
    console.log(typeof {});              // object
    console.log(typeof null);            // object
    console.log(typeof undefined);       // undefined
    
    
    • 优点:能够快速区分基本数据类型
    • 缺点:不能将Object、Array和Null区分,都返回object

    二、instanceof

    console.log(1 instanceof Number);                    // false
    console.log(true instanceof Boolean);                // false 
    console.log('str' instanceof String);                // false  
    console.log([] instanceof Array);                    // true
    console.log(function(){} instanceof Function);       // true
    console.log({} instanceof Object);                   // true
    
    
    • 优点:能够区分Array、Object和Function,适合用于判断自定义的类实例对象
    • 缺点:Number,Boolean,String基本数据类型不能判断

    三、Object.prototype.toString.call()

    var toString = Object.prototype.toString;
     
    console.log(toString.call(1));                      //[object Number]
    console.log(toString.call(true));                   //[object Boolean]
    console.log(toString.call('mc'));                  //[object String]
    console.log(toString.call([]));                     //[object Array]
    console.log(toString.call({}));                     //[object Object]
    console.log(toString.call(function(){}));           //[object Function]
    console.log(toString.call(undefined));              //[object Undefined]
    console.log(toString.call(null));                   //[object Null]
    
    • 优点:精准判断数据类型
    • 缺点:写法繁琐不容易记,推荐进行封装后使用
  • 相关阅读:
    hdu 1042 N!
    hdu 1002 A + B Problem II
    c++大数模板
    hdu 1004 Let the Balloon Rise
    hdu 4027 Can you answer these queries?
    poj 2823 Sliding Window
    hdu 3074 Multiply game
    hdu 1394 Minimum Inversion Number
    hdu 5199 Gunner
    九度oj 1521 二叉树的镜像
  • 原文地址:https://www.cnblogs.com/zppsakura/p/12396028.html
Copyright © 2011-2022 走看看