一、运算符和表达式
1.算术运算符:+ ;- ; * ; / ; %
注意点:1.除数不能为零,如果为零,结果就是Infinity
2.0/0结果是NaN,这个数学计算是错误的
3.尽量不要使用小数进行计算,失去精确度
2.关系运算符:<;>;<=;>=;==;!= ===
注意点:
undefinde == null true
undefinde === null false
== 和 === 的区别:== 只比较两个数据数值的大小,不比较数据类型
=== 既比较数据类型,也比较数据大小
3.逻辑运算符:
逻辑与 &&:一假则假;
逻辑或 ||:一真则真;
逻辑非 !:true变false,false变true;
逻辑运算符的作用:用来判断多个关系表达式之间的关系
短路运算
逻辑与:找假
在逻辑与表达式中, 若第一个式子的结果为false, 那么该逻辑表达式的结果就是第一个式子的值, 否则就是第二个式子的值
逻辑或:找真
在逻辑或表达式中, 如果第一个式子的结果为true, 那么那么该逻辑表达式的结果就是第一个式子的值, 否则就是第二个式子的值
逻辑非没有短路运算
4.自增自检运算符:
++等同于: +=1
前自增为先增加再运用:++num
后自增为先运用再增加:num++
--等同于:-= (用法与++相同)
二、Math高级函数
Math.PI 圆周率
Math.E 自然对数
Math.abs() 绝对值
Math.round(_) 四舍五入
Math.max() 求最大值
Math.min() 求最小值
Math.floor() 地板函数,向下取整
Math.ceil() 天花板函数,向上取整
Math.random() 生成0-1之间的随机数
Math.pow(x,y) 幂运算
Math.sqrt() 平方根
三、数据类型转换
1…!显性转换:其他数据类型转换成string类型
a.String(变量名或者数据),如果数据为undefined 或 null,同样可以转换
b.变量名.toString(),如果数据是undefinde或null,程序就会报错
c.数据 +“ ”(常用于输入语句)
2.转换成数字:
(1)parseInt():转成整数,主要偏向于转换字符串
特点:从左到右解析,遇到字符时停止,输出已解析的数字,如果第一个字符就是非数字类型,则NaN
列:
console.log(parseInt(12.5)) ;
则输出为12
console.log(parseInt("15abc")) ;
则输出为15
console.log(parseInt("abc")) ;
则输出为NaN
(2)parseFloat():转成小数,与parseInt效果相似,唯一区别就是可以解析小数将其输出出来
(3)Number():转成数字
偏向于转换布尔类型,转换时,字符串必须为纯数字字符串,否则为NaN
列:
console.log(parseInt(12.5)) ;
则输出为12.5
console.log(parseInt("15abc")) ;
则输出为NaN
3.转换成boolean
为false:0, -0, false, undefined, null, NaN, "", document.all
console.log(Boolean(0));
为ture:(" "); 意为字符串
2…!隐式转换:
(1)转换成字符串:+ 作为字符串连接符的时候,(+ 两边有一边是字符串)
(2)转换成数字:所有的算术运算符(+ 作为字符串连接符除外)
(3)转换成布尔类型: !
四、三元表达式
?:
语法为:表达式1?代码1 :代码2
表达式1可以是:
关系表达式;
布尔类型的值;
其他类型的值,要转换成布尔类型进行计算;
列:
var num = +prompt("请输入数字:");
num>10? num-5:num+5;
意思为,如果输入的number类型数据大于10,num值就减5,否则加5.