强制转换
Number()
使用Number函数,可以将任意类型的值转化成数值。
下面分成两种情况讨论,一种是参数是原始类型的值,另一种是参数是对象。
- 字符串转数字:
1.如果可以被解析为数值,则转换为相应的数值
2.如果不可以被解析为数值,返回 NaN //Number(‘324abc’) // NaN
3.空字符串转为0 - 布尔转数字:布尔值:true 转成 1,false 转成 0
- undefined:转成 NaN
- null:转成0
Number函数将字符串转为数值,要比parseInt函数严格很多。基本上,只要有一个字符无法转成数值,整个字符串就会被转为NaN。
Number函数将字符串转为数值,要比parseInt函数严格很多。
基本上,只要有一个字符无法转成数值,整个字符串就会被转为NaN。
//上面代码中,parseInt逐个解析字符,而Number函数整体转换字符串的类型。
另外,parseInt和Number函数都会自动过滤一个字符串前导和后缀的空格。
parseInt('\t\v\r12.34\n') // 12
Number('\t\v\r12.34\n') // 12.34
- 对象转换为数字: