高程笔记-关于typeof和instanceof的那些事儿

6 篇文章 0 订阅

好记性不如烂笔记:),简单的区分一下两者

typeof操作符用于判断变量的数据类型,使用typeof会有六种可能的返回:
  1. string、number、boolean、undefined、objectfunction
  2. js的数据类型中简单类型有String、Number、Boolean、Undefined、NULL五种,复杂类型有Object,使用typeof对Object和NULL类型检测都会返回object
  3. 使用typeof返回undefined可能存在两种情况:变量未申明、变量申明了但未初始化。e.g.typeof(aa);//undefined以及var aa;typeof(aa);//undefined所以,显示的初始化变量是明智的,当typeof操作符返回”undefined”值时,说明变量还没有被声明
  4. 函数在ECMAScript中是对象,不是一种数据类型
instanceof用于判断某一变量是否是某个对象的实例,instanceof返回的是true/false
  1. 在后面的面向对象中讲到的instance也可以判断某一对象是否是某一原型对象的实例e.g.alert(person instanceof Person);
  2. 对于类型检测问题,typeof适用于对基本类型的检测,而instanceof适用于对复杂类型检测(具体的引用类型值):
    举栗子:
    alert(person instanceof Object);
    alert(colors instanceof Array);
    alert(pattern instanceof RegExp);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值