一、运算符
算数运算符
数学运算符也叫算术运算符,主要包括加、减、乘、除、取余(求模)。
+:求和
-:求差
*:求积
/:求商
%:取模(取余数)——开发中经常作为某个数字是否被整除
优先级:先乘除取余后加减,有括号先算括号里面的;优先级相同时以书从左向右执行;赋值运算符
对变量进行赋值的运算符;将等号右边的值赋予给左边, 要求左边必须是一个变量
+=
-=
*=
/=
%=
//+=赋值运算符例子,其他赋值运算符同理
let age = 20
// = 运算符先计算=右边的结果,再赋值给左侧的变量
age = age + 5
// +=的意思是:将这个变量+值,再赋值给这个变量
age += 5 // 等价于: age = age + 5
- 一元运算符
根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符
一元运算符
自增:
符号:++
作用:让变量的值 +1
自减:
符号:--
作用:让变量的值 -1
使用一元运算符做自增运算
自增运算符的用法:
1.前置自增:++num
2.后置自增:num++
前置自增和后置自增单独使用没有区别
前置自增和后置自增如果参与运算就有区别:
let num = 3
// 前置自增
// 先自增,再运算得出结果(先自加再使用(记忆口诀:++在前 先加))
console.log(++num + 2)//输出的值为6
num = 3
// 后置自增
// 先运算,得出结果后再自增(先使用再自加(记忆口诀:++在后 后加))
console.log(num++ + 2)//输出的值为5
比较运算符
比较运算符:> ;<;>=;<=;
==: 左右两边是否相等,将两边的数据进行转换为数值;
===: 左右两边是否类型和值都相等;
!==: 左右两边是否不全等;
比较结果为boolean类型,即只会得到true或false
比较运算符的细节:1.字符串比较,是比较的字符对应的ASCII码
2.NaN不等于任何值,包括它本身
3.尽量不要比较小数,因为小数有精度问题
4.不同类型之间比较会发生隐式转换(最终把数据隐式转换转成number类型再比较,所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==)-
逻辑运算符
逻辑运算符用来解决多重条件判断
逻辑运算符里的短路
短路:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行
原因:通过左边能得到整个式子的结果,因此没必要再判断右边
运算结果:无论 && 还是 || ,运算结果都是最后被执行的表达式值,一般用在变量赋值
-
运算符优先级
一元运算符里面的逻辑非优先级最高
逻辑与比逻辑或优先级高
二、语句
- 表达式和语句
表达式:表达式通常会在原地返回一个值; 代码较短
语句:js 整句或命令,用来描述一件事情,代码量比较长(比如: if语句 for 循环语句)
区别:
表达式计算出一个值,但语句用来自行以使某件事发生(做什么事)
(其实某些情况,也可以把表达式理解为语句,因为它是在计算结果,也是做事) - 分支语句
1.if语句
if语句有三种使用:单分支、双分支、多分支
单分支:
if (条件) {
满足条件之后要执行的代码
}
双分支:
if (条件) {
满足条件之后要执行的代码
}else {
不满足条件要执行的代码
}
多分支(能有n多个else if):
if (条件1) {
满足条件1之后要执行的代码
}else if(条件2){
满足条件2要执行的代码
}else {
若以上条件都不满足,则执行这里的代码
}
2.三元运算符(一般用来取值)
是比 if 双分支更简单的写法,有时候也叫做三元表达式
符号:? 与 : 配合使用
// 三元表达式
// 1.需要三个操作数
// 2.表达式:三元表达式会返回一个值
// 语法:条件?满足条件返回这里的执行结果:不满足条件返回这里的执行结果
//需求:用户输入两个数字,控制台中输出最大的数字
let num1 = +prompt('请输入第一个数字')
let num2 = +prompt('请输入第二个数字')
console.log(num1 > num2 ? num1 : num2)
- 循环语句
1.断点调试:
作用:学习时可以帮助更好的理解代码运行,工作时可以更快找到bug
2.while循环
循环:重复执行某段代码, 而 while : 在…. 期间
跟if语句很像,都要满足小括号里的条件为true才会进入执行代码
while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,直到括号内条件不满足,即跳出
语法:
//需求:i循环5次
let i = 1
while (i <= 5) {
console.log(i)
i++
}
循环需要具备三要素:1.变量起始值
2.终止条件(没有终止条件,循环会一直执行,造成死循环)
3.变量变化量(用自增或者自减)