- 抛出问题:
在javascript这门语言当中,从设计到发布,总共花了不到10天的时候,由于JavaScript这门语言开发的周期时间特别短,所以留下了不少的bug,其中就包括typeof检测null为Object,其实null并不是Object的类型,那为什么会出现typeof检测出null为Object类型呢? - 解释原因:
JavaScript存储都是以32位字节进行存储的,而标志位存储的时候,遵循如下的特点:
由于null作为机器代码的0号地址,也就是全部都是空,所以检测:000:对象,数据是对象的应用。 001:整型,数据是31位带符号整数。 010:双精度类型,数据是双精度数字。 100:字符串,数据是字符串。 110:布尔类型,数据是布尔值。
typeof null 是 Object