补充
- 模板型字符串可以换行
- 其他的字符串需要用\换行
数据类型转换
强制转换(看得见的转换)
其他类型转为string(字符串型)方法
- .tostring()——其他类型变量
- String()——其他类型数据或变量
两种方法的区别
- .tostring()不能转换没有数据的类型,如null(空对象型)和nudefined(未定义型)
其他类型转为number(数字型)方法
- Number()——其他类型数据或变量
- parseInt()——其他类型数据或变量转化为整型(整数),从第0个数开始转换,直到遇到非数字的字符停止,如果第0个就是非数字的字符,那就直接停止转换
- parseFloat——其他类型数据或变量转化为浮点型(小数点),从第0个数开始转换,直到遇到非数字的字符除小数点停止,如果第0个就是非数字的字符除小数点,那就直接停止转换
- 一般使用于转换带单位的数字
其他类型转为boolean(布尔型)方法
- Boolean()——其他类型数据或变量
- 转换number中:0和NaN转为false,其他为true
- 转换string中:‘空字符串’转为false,其他为true
- 转换null和undefined都为false
隐式转换(看不见的转换)
- string+number==>number隐式转换为string
- string*number==>string隐式转换为number
number的特殊值
- NaN(not a number):非数字类型转换会显示NaN,如abc,{})(*&……%等
- Number.MAX_VALUE——表示最大的数
- Number.MAX_SAFE_INTEGER——表示最大的整数
- Number.MAX_VALUE*Number.MAX_SAFE_INTEGER为正无穷(Infinity)
运算符与表达式
算数运算符
- +:字符串拼接或数字相加,结果为number或string
- -:数字相加,结果为number,运算符两边非数字结果为NaN
- *:字符串或数字相乘,结果为number,运算符两边非数字结果为NaN
- \:数字相除,结果为number,运算符两边非数字结果为NaN
- %:数字取模(取余数),结果为number,运算符两边非数字结果为NaN
- ++:写在变量前后,自增+1,写在前面就是先+1在取值,写在后面先取值在+1,运算之后不会改变原变量,需要重新覆盖
- --:写在变量前后,自减-1,写在前面就是先-1在取值,写在后面先取值在-1,运算之后不会改变原变量,需要重新覆盖
赋值运算符
- =:给变量赋值
- +=:n+n=
- -=:n-n=
- *=:n*n=
- \=:n\n=
比较运算符
- 比较出来的结果为布尔值
- >:小于
- <:大于
- >=:大于等于
- <=:小于等于
- !=:不等于
- ==:恒等于,比较数值
- ===:全等于,比较数值和数据类型
逻辑运算符
是布尔值时
- &&(与):一个值为false,则结果为false
- ||(或):一个值为true,则结果为true
- !(非):本来结果为true则实际结果为false,本来结果为false则实际结果为true
非布尔值时
- &&(与):数据1 && 数据2,在转换为布尔值时,数据1是true就输出数据2,数据1是false就输出数据1
- ||(或):数据1 && 数据2,在转换为布尔值时,数据1是true就输出数据1,数据1是false就输出数据2
- !(非):把值转换为布尔型在取反
三元运算符
?:一个条件后面会跟一个问号(?),如果结果为 truthy ,则问号后面的数据1将会执行;表达式A后面跟着一个冒号(:),如果条件为 falsy ,则冒号后面的数据2将会执行。