js的类型转换不能像c/c++中那么糙的强制转换
1.向String类型转换
(1)使用变量的toString方法,这里的变量就相当于c++中的对象,它拥有自己的方法,但是不能对Null和Undefined类型的变量 使用这个方法,而且他并不是直接修改原变量,而是需要对变量赋值返回值
(2)使用String函数,这个函数同样需要对变量赋值返回值,需要把转换的变量作为参数传给函数,而且对上面提到的两种类型同样可以使用
2.向Number类型转换
(1)使用Number函数
转换字符串的话,如果是纯数字的字符串,则直接将其转换为数字,如果有非数字的内容转换为NaN,或者说为全空格、空串的时候转换为0。
布尔值的话,true转换为1,false转换为0.
Null转换为0,Undefined转换为NaN
(2)parseInt函数parseFloat函数
这两个函数是针对字符串的,paeseInt函数可以把字符串的连续的数字字符转换为整型数字,直到碰见第一个非数字字符,如果第一个字符就是非数字字符,那么返回NaN,而parseFloat函数可以转换为浮点数,即把 . (小数点)也识别在内。而如果非String类型使用这两个函数,那么会被先转换为String类型之后再操作。parseInt函数可以使用第二个参数来指定字符串转换整数的进制。
3.向Boolean转换
使用Boolean函数,数字转换的时候除了0和NaN之外其余都是true,字符串转换的时候,除了空串其余都是true,Null和Undefinded都会被转换为false,对象也会被转换为true。