zoukankan      html  css  js  c++  java
  • 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
    
    
  • 相关阅读:
    tp5更改入口文件到根目录的方法分享
    Linux安装JBOSS
    JBOSS和WebLogic区别
    面向对象编程的思维方式
    Struts+Spring+Hibernate整合入门详解
    DB2 UDB V8.1 管理
    oracle与DB2的一些架构
    oracle和DB2的差异
    JDK和JRE的区别
    Linux安装weblogic
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/6189221.html
Copyright © 2011-2022 走看看