JavaScript type封装 判断数据类型

版权声明:版权声明:@BU-KX-Z 本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41539580/article/details/82505222

JavaScipt 数据类型

在JavaScript中有六种原始数据类型:

  • number
  • string
  • boolean
  • null
  • undefined
  • object


    typeof()有六种返回值:

  • number
  • string
  • boolean
  • object
  • undefined
  • function

注:复杂数据类型,如果是对象,则返回的是object,如果的function类型,则返回的是function。
注:typeof() 返回值永远是字符串。


常见typeof()数据类型判断如下:

var num = 10;
var str = "小白";
var boole = true;
var booleo = false;
var nll = null;
var unde;
var obj = new Object(); 
var fun = function () {}; //复杂类型

typeof(num); // number
typeof(str); // string
typeof(boole); // boolean
typeof(null); // object 给对象站位置
typeof(unde); // undefinde
typeof(object); // object
typeof(fun); // function

对于原始值的包装类显示的结果为object,无法清楚的辨别具体的数据类型。
这里写图片描述
可以用Object.prototype.toString.call(new String) 来判断,太过麻烦
这里写图片描述


所以,封装出一个type方法,使得那些特殊的变量都能让我们很清楚地辨别出其类型。
代码如下:

function type(target) {
    var tyepOf = tyepof(target),
        template = {
        "[object Array]" = "array ----> object",
        "[object Object]" = "object ----> object",
        "[object String]" = "string ----> object",
        "[object Boolean]" = "boolean ----> object",
        "[object Number]" = "number ----> object"
    };
    // 判断是否为null
    if(target == null) {
        return "null";
    }else if(tyepOf == 'object') {
        var toStr = Object.prototype.toSting.call(target);
        return template[toStr];
    }else {
        return tyepOf;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_41539580/article/details/82505222
今日推荐