知识点最多最详细的JS自学学习笔记(连载)第一章、检测数据类型的方式

  1. 检测数据类型的方式

在JS中检测数据类型有且只有以下这4种方法:

  1. typeof       用来检测数据类型的运算符
  2. instanceof   用来检测当前实例是否利属于某个类,用来判断对象。
  3. constructor  基于构造函数检测数据类型(也是基于类的方式)

4、Object.prototype.toString.call()  检测数据类型最好的办法

1)typeof的规则

typeof 返回的是一个表达式的数据类型的字符串

typeof返回结果为基本数据类型("number"、"string"、"boolean"、"undefined"、"object"、"function")

typeof   要检测的值           运算符
typeof        null                返回值是"object",但是null并不是对象

为什么typeOf(null)=>"object"  ?

答:000:object  ->  001:integer  ->  010:double  -> 100:string  ->110:boolean

JS第一个版本,单个值在栈中占有32个位存储单元,两部分组成:标记位和数据。当时只有这5种数据类型。null是个特殊的,在机器码中null的指针,从零到31位全都是零,标记位是零,标记位是零,标记位是零返回的就是零。
typeof        undefined          返回值是"undefined"
typeof        NaN                返回值是"number"

typeof        {}                返回值是" object "

typeof        function          返回值是"function"

typeof        string          返回值是"string"

typeof        boolean          返回值是"boolean"

typeof操作符(是操作符不是函数,括号()不是必须有)有局限性:

1)、typeof不能检测object下的具体细分的类型,返回的值全是"object"   typeof [ ]  "object"

typeof的一个面试题

console.log(typeof typeof typeof typeof [12, 23, 34]);    // "string"
        typeof [12, 23, 34] ==> "object"
        typeof "object" ==> "string"
        typeof "string" ==> "string"

因为typeof返回的首先是一个字符串,所以出现两个及以上的typeof同时使用的时候,最终结果一定是"string"

2)、instanceof

3)、constructor

4)、Object.prototype.toString.call()


本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记。有不正确之处请各位高手多多指点,一起学习进步。【VX:czlingyun    暗号:CSDN】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灵韵设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值