js中typeof 与 instanceof 之间的比较

typeof

typeof 是一个一元运算,放在一个运算数之前,这个运算数可以是任意的基本数据类型,而它的返回值是该运算数所对应的基本数据类型的字符串。
这也就是说typeof其实就是判断参数是什么类型的实例,就一个参数,返回值一般只能是如下几个结果:number、string、boolean、object、function、undefined

    var number = 123;
    var string = '123';
    var boolean = true;
    var kong = null
    console.log(typeof number);//number
    console.log(typeof string);//string
    console.log(typeof boolean);//boolean
    console.log(typeof kong);//object

同样,我们可以利用typeof来判断一个变量是否存在

   var number = 123;
   if( typeof number !== undefined){
       console.log(number);//这里我们已经将number定义了,因此打印出的是123
   }else {
       console.log('值未定义')
   }

instanceof

    var number = new Number()
    var arr = new Array()
    console.log( number instanceof Number ) //true
    console.log( arr instanceof Array ) //true
    console.log( arr instanceof Object ) //true
    console.log( number instanceof Array ) //false

instanceof 运算符主要用来检测 constructor.prototype 是否存在于参数 object 的原型链上。

    var arr = new Array()
    if (arr instanceof Object){
        console.log('yes')	//这里打印的结果是yes
    }else{
        console.log('no')
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值