数据类型的判断

基本思路是传入一个变量,返回一个数组。数组内包含它是否属于某个数据类型的true或false信息

主要通过typeof判断的基础数据类型,其余数据类型使用Object.prototype.toString.call()判断

/**
  * 用于判断数据类型,传入一个变量,返回一个数组。数组内包含它是否属于某个数据类型的true或false信息
  * @author shi yechen
  * @param {var} 要判断数据类型的变量
  * @return {Array} 包含传入函数的变量是否属于某个数据类型的true或false信息
*/
'use strict'        //我们计划判断number、string、boolean、null、undefined、symbol六种基本数据类型以及object、array、function三种引用数据类型
var a,              //用于传递要判断的数据
    toString,       //用于存储Object.prototype.toString方法,方便调用
    arr = [];       //用于存储判断信息用于输出
function judge(a){  //使用时,只需要调用这个函数,传入想要判断的变量,就可以输出判断结果
    arr.push(a);    //数组第一位存放要判断的变量,可有可无
    function isNumber(a){
        arr.push("isNumber:" + (typeof(a) == 'number'));       //判断完成后在数组中添加是否为number的提示信息
    };
    isNumber(a);

    function isString(a){
        arr.push("isString:" + (typeof(a) == 'string'));
    };
    isString(a);

    function isBoolean(a){
        arr.push("isBoolean:" + (typeof(a) == 'boolean'));
    };
    isBoolean(a);

    toString = Object.prototype.toString;   //存储Object.prototype.toString方法,开始使用Object.prototype.toString.call()
    function isArr(a){
        arr.push("isArray:" + (toString.call(a) == '[object Array]'));
    };
    isArr(a);

    function isFunction(a){
        arr.push("isFunction:" + (toString.call(a) == '[object Function]'));
    };
    isFunction(a);

    function isNull(a){
        arr.push("isNull:" + (toString.call(a) == '[object Null]'));
    }
    isNull(a);

    function isUndefined(a){
        arr.push("isUndefined:" + (toString.call(a) == '[object Undefined]'));
    }
    isUndefined(a);

    function isSymbol(a){
        arr.push("isSymbol:" + (toString.call(a) == '[object Symbol]'));
    }
    isSymbol(a);

    function isObject(a){
        arr.push("isObject:" + (toString.call(a) == '[object Object]'));
    }
    isObject(a);
    
    return arr;                             //返回判断信息
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值