一数据类型的转换方法:
1)强制转换:
1.字符转数值:
①parseInt(要转换的数据或变量)
·规则:
从左向右依次检测,遇到第一个非数字的字符,停止转换;
忽略小数点后所有的内容,其实是将小数点识别成了非数字;
如果第一位就是非数字,直接NaN。
·补:NaN是什么?
不是一个数字的数值型数据
非法的数值运算的结果
非法:不合法,不合规,本来不能转,非要转
②parseFloat(要转换的数据或变量)
·规则:
从左向右依次检测,遇到第一个非数字的字符,停止转换;
可以识别小数点;
如果第一位就是非数字,直接NaN;
③Math.round(要转换的数据或变量)
·规则:
Math.round不是专门做字符转数值的;
专门做取整的,取最近的整数,顺带着给可以实现转换;
严格转换:只要出现非数字,那么就是NaN;
④Number(要转换的数据或变量)
·规则:
Number不是专门做字符转数值的;
专门做取整的,取最近的整数,顺带着给可以实现转换;
严格转换:只要出现非数字,那么就是NaN;
2.数值转字符:
①数值变量.toString():
·规则:直接转换,相当于加个引号;
②数值变量.toFixed(n):
·规则:保留n为小数。
2)隐式转换:
1.情景和规则:
①算数运算:
·`+`号两边只要出现字符,结果必然为字符;
·`-`,`*`,`/`,`%`的结果必然是数值。
②关系运算:
·`>`,`<`,`>=`,`<=`,`!=`,`==`两边只要出现数值,那么另一边也会转成数值,进行比较。
二、数据的运算符:
1)算数运算符
① `+` 加号,加法
· 当加号两边都是数值型数据时,是数学的加法运算;
·任意一边是字符,那么就变成了拼接,拼接就是将两个数据,直接组合起来;
-②`-`,`*`,`/`,`%`
·就是正常的数学运算;
·就算两边不是数值,也会默认转成数值,进行运算;
·如果某个数据不能转成数值,会得到`NaN`。
2)关系运算符的结果是布尔值:
①`>`,`<`,`>=`,`<=`
·只要有一边出现数值,都是数值的**比较规则**
·如果都是字符,才是字符的**比较规则**:**逐位比较**,得到结果,就停止
②`!=`,`==`
·会发生隐式类型转换,或者只比较大小,不比较类型
③ `!==`,`===`
·不会发生隐式类型转换,不仅比较大小,还比较类型
3)逻辑运算符:主要操作布尔值
①或
· ||:两边只要出现true,结果就是true,必须都为false,结果才是false;
②且
·&&:两边只要出现false,结果就是false,必须都为true,结果才是true;
③非
·!:取反。
4)赋值运算符:
① “=”
·将等号右侧的数据,存在左侧的变量中
·把右边的内容,放在左边的变量中
·如果左侧的变量,原本有值,那么会覆盖
②“+=,-=,*=,/=,%=”
·先计算,再赋值(覆盖)
5)一元运算符:
①自增: “++”增加1
补:前后之分
·前自增`++n`:先计算,后使用;
·后自增`n++`:先使用,后计算;
②自减:“--”减少1
补:前后之分
·前自减`--n`:先计算,后使用;
·后自减`n--`:先使用,后计算。
原文:https://www.cnblogs.com/yh-3175339026/p/12747478.html