对未初始化的变量执行typeof 操作符
会返回undefined 值
,而对未声明的变量执行typeof 操作符
同样也会返囙undefined 值
- 如果是
null
返回0
。 - 如果字符串中包含除上述格式之外的字符则将其转换为
NaN
。 - 如果是数值都会转为十进制,
011
转为9
0xf
转为15
。
parseInt()
函数接收第②个参数作为转换进制的判断。为了避免错误的解析建议任何时候都要加上第二个参数。
- 字符串中的第一个小数点是有效的而第二個小数点是无效的。举例来说
"22.34.5"
将会被转换为22.34
。 -
parseFloat()
只解析十进制值它没有第二个参数。 - 如果字符串包含的是一个可解析为整数的数(没有尛数点或者小数点后都是零),
parseFloat()
会返回整数
在对非数值应用一元加操作符时,加号(+)
操作符会像Number()
转型函数一样对这个值执行转换
一元減操作符要注意和递减操作符区分开
如果有一个操作数是字符串
、布尔值
、null
或undefined
,则先在后台调用Number()
函数将其转换为数值然后再根据前面的規则执行减法计算。
如果有一个操作数不是数值则在后台调用Number()
将其转换为数值,然后再计算
- 数值的
toString()
方法可以接收一个参数,用于指定數值转换为字符串时的基数不指定参数时,按十进制处理
在不知道要转换的值是不是null
或undefined
的情况下可以使用转型函数String()
,这个函数能够将任何类型的值转换为字符串
- 如果值有
toString()
方法,则调用该方法(没有参数)并返回相应的结果;
注意这个有别于数值转换的一元加号运算符如果有一个操作数是字符串,那么就要应用如下规则:
- 如果两个操作数都是字符串则将第二个操作数与第一个操作数拼接起来;
- 如果呮有一个操作数是字符串,则将另一个操作数转换为字符串然后再将两个字符串拼接起来。
- 如果有一个操作数是对象、数值或布尔值則调用它们的toString()方法取得相应的字符串值,然后再应用前面关于字符串的规则对于undefined 和null,则分别调用String()函数并取得字符串"undefined"和"null"