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

原文地址:https://www.cnblogs.com/gaojian910/p/11497021.html