JavaScript查漏补缺
JavaScript有几种数据类型?
0. String(字符串)
1. Number(数值)
2. Boolean(布尔)
3. Null(空值)
4. Undefined(未定义)
5. Object(对象)前 5 种是基本类型
Null类型和Undefined类型的定义和区别?
Null类型的值只有一个(null),用来表示一个为空的对象
使用typeof检查一个null时,会返回objectUndefined类型的值也只有一个(undefined)
当声明一个变量,不给它赋值时,它的值就是undefined
使用typeof检查undefined时,会返回undefined
关于强制类型转换,需要注意的点
其他类型 --> String类型时
null和undefined不能使用toString()方法进行强转
可以使用String()方法进行转换字符串 --> 数值型时,如果字符串中含有非数值的字符,使用Number()方法转换结果是 NaN
" " --> 0
null --> 0
undefined --> NaN对于字符串包含非数值字符的处理方法主要有以下两种:
使用parseInt()方法可以取出字符串中从左到右的有效整数数字进行转换
使用parseFloat()方法可以取出字符串中从左到右的有效小数注意: 如果对非String类型使用parseInt()或者parseFloat()它会先将其转换成String类型,然后再操作其他类型 --> 布尔型Number --> Boolean: 除了0和NaN,其余都是trueString --> Boolean: 除了空串,其余都是trueundefined,null --> Boolean: false Object --> Boolean: true
表示其他进制的数
0x开头 --> 16进制
0O开头 --> 8进制(数字0加上大写字母O)
0b开头 --> 2进制
运算符
对非Number类型的值进行运算时,会将这些值转换成Number类型然后再计算任何值和NaN做运算都得NaN
+ 加法,如果是两个字符串,则会拼串,任何值和字符串相加都会转为字符串,即做拼串我们可以利用这一特点来进行隐式类型转换,即任何类型的值加上一个空串,即可转为字符串
- * / 任何值做这几个操作时,都会自动转换为Number我们也可以利用这一点 来进行其他类型隐式转换为Number类型
% 取模