js-数据类型转换(强制转换、隐式转换)和数据运算符(包含三目运算符)详解
-
-
如果,用户给了一个数据,或者计算机给了一个数据,或者其他程序给了一个数据,不是我们需要的数据类型
-
需要转成当前程序所需的数据类型,再进行运算
-
转换方法有哪些
-
-
数据类型的转换方法
-
强制转换(显示转换,主动转换)
-
字符转数值
-
parseInt(要转换的数据或变量)
-
从左向右依次检测,遇到第一个非数字的字符,停止转换
-
忽略小数点后所有的内容,其实是将小数点识别成了非数字
-
如果第一位就是非数字,直接NaN
-
NaN是什么?not a number
-
不是一个数字的数值型数据
-
非法的数值运算的结果
-
非法:不合法,不合规,本来不能转,非要转
-
-
-
-
parseFloat(要转换的数据或变量)
-
从左向右依次检测,遇到第一个非数字的字符,停止转换
-
可以识别小数点
-
如果第一位就是非数字,直接NaN
-
NaN是什么?not a number
-
不是一个数字的数值型数据
-
非法的数值运算的结果
-
非法:不合法,不合规,本来不能转,非要转
-
-
-
-
Math.round(要转换的数据或变量)
-
Math.round不是专门做字符转数值的
-
专门做取整的,取最近的整数,顺带着给可以实现转换
-
严格转换:只要出现非数字,那么就是NaN
-
-
-
Number(要转换的数据或变量)
-
Number不是专门做字符转数值的
-
系统内置的构造函数,用来创建数值对象,后话...顺带着给可以实现转换,直接转换
-
严格转换:只要出现非数字,那么就是NaN
-
-
-
如何选择?
-
按需选择
-
当需要转换时,观察当前程序的运行情况,以及要转换数据的实际情况,对应实际规则,选择方法
-
不管选哪个,只要注意规则,都能灵活使用
-
-
-
-
数值转字符
-
数值变量.toString()
-
直接转换,相当于加个引号
-
-
数值变量.toFixed(n)
-
-
-
-
-
-
+
加号,加法-
当加号两边都是数值型数据时,是数学的加法运算
-
任意一边是字符,那么就变成了拼接,拼接就是将两个数据,直接组合起来
-
-
-
,*
,/
,%
-
就是正常的数学运算
-
就算两边不是数值,也会默认转成数值,进行运算
-
如果某个数据不能转成数值,会得到
NaN
-
-
-
关系运算符 - 的结果是布尔值
-
>
,<
,>=
,<=
-
只要有一边出现数值,都是数值的比较规则
-
如果都是字符,才是字符的比较规则:逐位比较,得到结果,就停止
-
-
!=
,==
-
会发生隐式类型转换,或者只比较大小,不比较类型
-
-
!==
,===
-
不会发生隐式类型转换,不仅比较大小,还比较类型
-
-
-
逻辑运算符 - 主要操作布尔值
-
或
-
||:两边只要出现true,结果就是true,必须都为false,结果才是false
-
-
且
-
&&:两边只要出现false,结果就是false,必须都为true,结果才是true
-
-
非
-
!:取反
-
-
-
赋值运算符
-
=
-
将等号右侧的数据,存在左侧的变量中
-
把右边的内容,放在左边的变量中
-
如果左侧的变量,原本有值,那么会覆盖
-
-
+=
,-=
,*=
,/=
,%=
-
先计算,再赋值(覆盖)
-
请参考:
+ - * / %
-
-
-
一元运算符
-
自增
-
++
-
增加1
-
前后之分
-
前自增
++n
:先计算,后使用 -
后自增
n++
:先使用,后计算
-
-
-
自减
-
--
-
减少1
-
前后之分
-
前自减
--n
:先计算,后使用 -
后自减
n--
-
-
-
-
如果感觉对自己有帮助,麻烦点一下关注,会一直盒大家分享知识的,谢谢!!!