数值类型
number数值类型
数值的范围
由于内存的限制,JS并不能保存世界上所有的数值,若计算到数值超出JS可以表示的范围,那么会自动转为Infinity(无穷大),不可在进一步计算
NaN
在JS中有一个特殊的值叫NaN(Not a Number),意思是不是一个数值,用于表示本来要返回一个数值,但操作失败了,就会返回NaN
如何判断一个数值是否是NaN呢?
JS中提供了isNaN()函数,可以判断任何数据类型是否"不是数值"
boolean布尔类型
计算机内部储存: true为1,false为0
注意区分大小写,true和TRUE不一样
string字符串类型
用单引号或双引号括起来的部分我们称之为字符串
在JS中单引号和双引号是没有区别的
转义符
所谓的转义字符就是可以实现特殊功能的字符
常见转义字符:
注意:
1.单引号里面可以嵌套双引号
2.双引号里面可以嵌套单引号
3.不能在单引里面嵌套单引,双引里面也不能嵌套双引,除非要用转义符转义才行
获取字符串长度
length属性用来获取字符串的长度
字符串的拼接
字符串拼接使用加号+连接,技巧:挖坑法
undefined未定义类型
undefined类型只有一个值,就是特殊值undefined
当使用var声明一个变量但没有初始化值时,其默认值就是undefined
//声明变量但没有初始化时,默认会赋予 undefined
注意:一般来说,永远不用显式地给某个 变量设置undefined值,此字面值主要用于比较
返回undefined类型的两种情况
变量仅声明不赋值则值默认是undefined,此变量类型就是undefined类型
对一个未声明的变量进行typeof也会返回undefined
null类型
null类型同样只有一个值,即特殊值null
严格上讲null值表示一个空对象指针(引用),所以用typeof判断一个null时会返回"object"
引用(指针):指向对象所在内存空间中的某个地址
什么情况会用到null呢?
作为对象占位符;给对象赋予初始值var obj = null,明确此变量obj将来就是要保存一个对象的引用,更加具有语义化(有意义,有含义)
解除引用;便于释放内存。在JS中,如果一个对象没有引用,js会在合适的时候自动的去回收此对象所占用的内存空间,便于节省内存空间。
为什么typeof null结果object?
后续版本包括es6也没有修复这个bug,其实es6有提案被拒了;因为遗留代码太多了,改了容易得罪人,所以bug就成了feature(特征)了
领取专属 10元无门槛券
私享最新 技术干货