算术运算符
数学运算符也叫算术运算符,只要是加减乘除
+:求和 -:求差 *:求积 /:求商 %:取模(取余数) 如:
5 % 3 =2
%开发中经常用来判断是否被某个数整除
算术运算符的优先级
同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级 JavaScript中 优先级越高越先被执行,优先级相同时以书从左向右执
-
乘、除、取余优先级相同
-
加、减优先级相同
-
乘、除、取余优先级大于加、减
-
使用 () 可以提升优先级
总结:先乘除后加减,有括号先算括号
赋值运算符
简单赋值运算符=
sum = 0;
+=
sum += 1 //即是sum = sum + 1
-=
sum -= 1 // sum = sum - 1
*=、/=、%= 由此类推,使用赋值运算符能简化代码
一元运算符
一元运算符都用自增减操作
自增:符号++
let i = 0i++ //i加1操作
自减:符号--
let i = 1i-- //i减1操作
开发中经常用于计数操作,多用于循环体
自增减分为前后置
前置自增:
let num = 1let i = 0num = ++i //此时i先自增再赋值,num = 2
后置自增:
let num = 1let i = 0num = i++ //此时i先赋值再自增,num = 1
自减也是由此
经典案例:
let i = 1
console.log(i++ + ++i + i);//7 这确实有点懵,多理解理解
比较运算符
>
左边是否大于右边
<
左边是否小于右边
>=
左边是否大于或等于右边
<=
左边是否小于或等于右边
==
左右两边是否相等
===
左右两边是否类型和值都相等
!==
左右两边是否不全等
比较的结果为布尔值(boolean类型):true、false
-
字符串比较,是比较的字符对应的ASCII码
-
NaN不等于任何值,包括它本身 (但NaN的布尔值为false)
-
尽量不要比较小数,因为小数有精度问题
-
不同类型之间比较会发生隐式转换
-
最终把数据隐式转换转成number类型再比较
-
所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==
-
= 、== 、===的区别:
-
=是赋值
-
==是判断值是否相等
-
===是全等判断值和类型是否相等
逻辑运算符
符号
名称
日常读法
特点
口诀
&&
逻辑与
并且
符号两边都为true结果才为true
一假则假
||
逻辑或
或者
符号两边有一个true就为true
一真则真
| ! | 逻辑非 | 取反 | true变false false变true | 真变假,假变真 |
逻辑运算符的短路
&&、||满足以下条件会短路操作
符号
短路
&&
左边为false时
||
左边为true时
案例:
&&
console.log(false && 20);//false
console.log(5 < 3 && 20);//false
console.log(10 && 20);//20
||
console.log(false || 20);//20
console.log(5 < 3 ||20);//20
console.log(10 ||20);//10
逻辑运算符练习小案例(判断是否闰年)
<script>
// 闰年的判断条件能被4整除(%4==0)且不能被100整除(%100!=0)或者能被400整除(%400==0)
let year = prompt(' 请输入年份:')
if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
document.write(`${year}年是闰年`)
} else {
document.write(`${year}年不是闰年`)
}
</script>
运算符的优先级
优先级
运算符
顺序
1
小括号
()
2
一元运算
++ - !
3
算数运算符
先*/%后+ -
4
关系运算符
> >= < <=
5
相等运算符
== != === !==
6
逻辑运算符
&& ||
7
赋值运算符
=
一元运算符里面的逻辑非优先级最高 逻辑与比逻辑或优先级高
案例:
let a = 3 > 5 && 2 < 7 && 3 == 4
console.log(a); //flase
let b = 3 <= 4 || 3 > 1 || 3 != 2
console.log(b); //true
let c = 2 === "2"
console.log(c); //false
let d = !c || b && a
console.log(d);//true
语句
表达式
表达式是一组代码的集合,JavaScript解释器会将其计算出一个结果
x = 7
1 + 1
num++
语句
js 整句或命令,js 语句是以分号结束(可以省略)
如:if语句、for循环
分支语句
if语句
if语句有三种使用:单分支、双分支、多分支
单分支:
if(条件){
}
多分支:
if(条件){
}esle if(条件){
}...{
}esle{
}
*小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
三元运算符
格式:条件 ?满足条件执行的代码 :不满足条件执行的代码
2 < 3 ? console.log("3比较大") : console.log("2比较大")
案例:
let num1 = prompt(""), num2 = prompt("")
let max = num1 > num2 ? num1 : num2
console.log(`最大的数是:${max}`);
分支语句实战案例:
简易计算机:
//接收用户选择的运算方式与计算的数字
let cout = prompt('选择运算+、-、*、/'), num1 = +prompt('数字1'), num2 = +prompt('数字2')
//判断用户选择的运算方式+、-、*、/
if (cout == '*') {
alert(`${num1}*${num2}=${num1 * num2}`)
} else if (cout == '+') {
alert(`${num1}+${num2}=${num1 + num2}`)
} else if (cout == '/') {
alert(`${num1}/${num2}=${num1 / num2}`)
} else {
alert(`${num1}-${num2}=${num1 - num2}`)
}
结束语:我命由我不由天