• typeof升级版,可以识别出array、object、null、nan、[]、{}


    typeof 经常混淆array、object、null等,升级处理一下。
    可以将这个函数放在common.js中使用。

    function getTypeName(v) {
        var v_str = JSON.stringify(v);
        if (typeof v == 'object') {
            // 判断null
            if (v_str == 'null') {
                return 'null';
            }
            // 判断[]
            if (v_str.charAt(0) == '[') {
                return 'array';
            }
    
            // 判断{}
            if (v_str.charAt(0) == '{') {
                return 'object';
            }
    
            // 判断Date对象
            if (v instanceof Date) {
                return 'date';
            }
    
            // 其他...
            return 'other';
        } else if(typeof v == 'number') {
            // 判断NaN
            if (v_str == 'null') {
                return 'nan';
            }
            return typeof v;
        } else {
           return typeof v;
        }
    }
    
    var a = 0;
    var b = "";
    var c = null;
    var d = false;
    var e = function () {};
    var f = [];
    var g = {};
    var h;
    var i = new Array();
    var j = new Object();
    var k = new Date();
    var l = NaN;
    console.log(getTypeName(a)); // number
    console.log(getTypeName(b)); // string
    console.log(getTypeName(c)); // null
    console.log(getTypeName(d)); // boolean
    console.log(getTypeName(e)); // function
    console.log(getTypeName(f)); // array
    console.log(getTypeName(g)); // object
    console.log(getTypeName(h)); // undefined
    console.log(getTypeName(i)); // array
    console.log(getTypeName(j)); // object
    console.log(getTypeName(k)); // date
    console.log(getTypeName(l)); // nan
    
    
  • 相关阅读:
    POJ
    模板
    HDU
    CodeForces
    CodeForces
    Java
    百度之星2014复赛
    百度之星2014复赛
    转载
    百度之星2014初赛
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/6189221.html
Copyright © 2020-2023  润新知