一、运算符
1.1 赋值运算符
目标: 能够使用赋值运算符简化代码
(1)赋值运算符:对变量进行赋值的运算符
(2)已经学过的赋值运算符:= 将等号右边的值赋予给左边, 要求左边必须是一个容器
(3)其他赋值运算符:
+=
-=
*=
/=
%=
使用这些运算符可以在对变量赋值时进行快速操作
1.2 一元运算符
目标: 能够使用一元运算符做自增运算
众多的 JavaScript 的运算符可以根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符
(1)二元运算符:
(2)一元运算符:
例: 正负号
(3)问题: 我们以前让一个变量每次+1 ,以前我们做的呢?
我们可以有更简便的写法了
自增:
(1)符号:++
(2)作用:让变量的值 +1
自减:
(1)符号:--
(2)作用:让变量的值 -1
使用场景:经常用于计数来使用。 比如进行10次操作,用它来计算进行了多少次了
(3)用法
注意:
- 前置自增和后置自增独立使用时二者并没有差别!
- 一般开发中我们都是独立使用
3. 后面 i++ 后置自增会使用相对较多,并且都是单独使用
经常用于计数来使用。用来计算多少次
答案:7
i++ 先运算后自加 :1+ () 此时i已经是2了
++i先自加在运算:i= 2+1=3,1+3=4
+i:+3=7
1.3 比较运算符
1、比较运算符:
(1)> : 左边是否大于右边
(2)<: 左边是否小于右边
(3)>=: 左边是否大于或等于右边
(4)<=: 左边是否小于或等于右边
(5)==: 左右两边值是否相等
(6)===: 左右两边是否类型和值都相等
(7)!==: 左右两边是否不全等
比较结果为boolean类型,即只会得到 true 或 false
2、对比:
= 单等是赋值
== 是判断
=== 是全等
开发中判断是否相等,强烈推荐使用 ===
<body>
<script>
console.log(3 > 5) //false
console.log(2 == 2) //true
// 比较运算符有隐式转换 把'2'转换为2 双等号只判断值
console.log(2 == '2') //true
console.log(undefined == null) //true
// === 全等 判断 值 和 数据类型 都一样才行
console.log(2 === '2') //false
console.log(NaN = NaN) //false NaN不等于任何人,包括他自己
//以后判断是否相等,请用 ===
</script>
</body>
3、字符串比较,是比较的字符对应的ASCII码
(1)从左往右依次比较
(2)如果第一位一样再比较第二位,以此类推
(3)比较的少,了解即可
console.log('a' < 'b') //true
console.log('aa' < 'ab') //true
console.log('aa' < 'aac') //true
4、NaN不等于任何值,包括它本身
涉及到"NaN“ 都是false
5、尽量不要比较小数,因为小数有精度问题
6、不同类型之间比较会发生隐式转换
最终把数据隐式转换转成number类型再比较
所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==
1.4 逻辑运算符
符号 | 名称 | 日常读法 | 特点 | 口诀 |
---|---|---|---|---|
&& | 逻辑与 | 并且 | 两边都为true,结果才为true | 一假则假 |
ll | 逻辑或 | 或者 | 符号两边有一个true就为true | 一真则真 |
! | 逻辑非 | 取反 | true变false,false变true | 真则假,假则真 |
案例:判断一个数是4的倍数,且不是100的倍数
需求:用户输入一个,判断这个数能被4整除,但是不能被100整除,满足条件,页面弹出true,否则弹出false
分析:
①:用户输入
②:判断条件, 看余数是不是0,如果是0就是能被整除,余数不是0,则不能被整除