js-笔记-数据类型判断

37 篇文章 3 订阅
16 篇文章 0 订阅

今天偶然看到一篇文章 typeof 和 instanceof 的区别 ,文章末尾的

console.log(Number instanceof Number);//false 
console.log(String instanceof String);//false 

有点迷,当时想着Number和String为啥不instanceof 它们自己呢???就测试了一下Number是啥,结果他们本身是个Function!!好嘛,想了一下也是,它可以new,创建实例啥的

Object是function,后来发现Function也是Object,所以Number和String也是Object实例,如下:

typeof Object
// 'function'

Object instanceof Function
// true

Object instanceof Object
// true

Function instanceof Function
// true

Function instanceof Object
// true

String instanceof Object
// true

总结一下,几种数据类型判断:

1.typeof 可以判断简单数据类型,对于复杂数据类型就不起作用;

2.instanceof主要用于判断复杂数据类型(判断当前对象是不是另一个对象的实例)返回布尔值;

3.Object.prototype.toStringcall()能够准确的判断所有的数据类型;

4.constructor 能够判断多种数据类型,和instanceof差不多(null和undefined除外)

之前有写过这个,可以具体去看一下: JS-循环清空对象 && 判断数据类型的5种常用方法 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值