类型检测

类型检测
  1. typeof
    通过判断js存储时二进制,区分类型并返回类型字符串:number,string,boolean,object,function.undefined
    obj是000开头,null也是000开头,所以null 返回的也是”object”
    var a =12; a //=> “number”
    var b =new Number(12) //=> “object”
    var c =”strs” c //=> “string”
    var d =new String(“strs”) //=> “object”
    var e =true //=> “boolean”
    var f =new Boolean(true) //=> “object”
    function g(){} //=>”function”
    var h =[] //=>”object”
    var i = new Array(12,23) //=>”object”
    var j ={} //=>”object”
    var j =new Object({}) //=>”object”
    var k 不进行赋值 //=>undefined
    var l =null //=>”object”
  2. instanceof
    通过原型链(proto)逐级向上查找到原型上的constructor,进行比对,即object instanceof constructor
    使用:obj instanceof 类名,var obj ={} obj instanceof Object
  3. Object.prototype.toString.call(obj)
    返回格式:[object 构造函数名]
        console.log(Object.prototype.toString.call(""))//->[object String];
        console.log(Object.prototype.toString.call("lsmife"))//->[object String];
        console.log(Object.prototype.toString.call([1,2]))//->[object Array];
        console.log(Object.prototype.toString.call({name:"lsmife"}))//->[object Object];
        console.log(Object.prototype.toString.call(12))//->[object Number];
        console.log(Object.prototype.toString.call(null))//->[object Null];
        console.log(Object.prototype.toString.call(undefined))//->[object Undefined];
        console.log(Object.prototype.toString.call(/^$/))//->[object RegExp];
        console.log(Object.prototype.toString.call(Math))//->[object Math];
        console.log(Object.prototype.toString.call(new Date()))//->[object Date];
        console.log(Object.prototype.toString.call(function(){}))//->[object Function];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值