js 数据类型转换
知识补充
js是弱类型编程语言①声明变量时,不用规定变量存储的数据类型②赋值时,动态决定变量的数据类型,同一个变量先后可保存不同类型的数据③运算时,JS会根据需要,动态转换数据的类型
转换分为两大类
(1)隐式转换 :无需程序员干预,JS自动完成的类型转换。在算数运算中一切类型都隐式转换为number类型,在+运算中只要有一方是字符串且+运算变为字符串拼接!true/false-->1/0 true+1 = 2; true+"1"="true1";
- 运算中 "3"-true = 2; "mmm"-true = NAN(运算中包含了无法转为数字的值,不是数字的数字,NAN和任何东西做计算永远返回NAN)
表达式:由数据,变量和运算符组成的一个公式,每个表达式默认从左到右,两两计算,每个表达式有且仅有一个运算结果
(2) 强制转换 :程序员通过主动的调用专门函数,执行转换
1,toString:注意,不可以转null和underfined
String()方法:都能转
注意:隐式转换:num + "",当 + 两边一个操作符是字符串类型,一个操作符是其它类型的时候,会先把其它类型转换成字符串再进行字符串拼接,返回字符串
2,Number():Number()可以把任意值转换成数值,如果要转换的字符串中有一个不是数值的字符,返回NaN,也就是说Number()只能转换纯数字的字符串
parseInt():从字符串开始位置读取,直到碰到第一个不是数字的字符时,截取。比如parseInt("12px")-----〉12 并且是Number类型
parseFloat(): parseFloat()把字符串转换成浮点数,从字符串开始位置读取 自动忽略第一个空格,碰到第一个非数字类型的自动截取 或者碰到小数点以后截取到第一个非数字类型的 比如:parseFloat(" 2225tt")----〉2255;parseFloat(" 2225 44")---->2255;parseFloat(" 2225.566.77")---->2225.566;
3,转换为Boolean():0 ''(空字符串) null undefined NaN 会转换成false 其它都会转换成true方法:
————————————————
转自:本文为CSDN博主「喜欢胡歌的小可爱」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dearzhuoer/article/details/83858611