目录
运算符
1.1算数运算符
主要包括加减乘除、取余(求模)
+:求和
-:求差
*:求积
/:求商
%:取模(取余数)
开发中经常作为某个数字是否被整除
注:1.* / %优先级相同
2.+ -优先级相同
3.* / %优先级大于 + -
4.使用()可以提升优先级,有括号先算()
总结:先乘车后加减,有括号先算
//计算圆面积
let r=prompt('请输入半径:')
let result = 3.14 * r *r
document.write(`计算之圆的面积为:${result}`)
1.2赋值运算符
对变量进行赋值
= 将等号右边的值赋值给左边,要求左边必须是一个容器
其他赋值运算符:
+=
-=
*=
/=
%=
let num = 18
// num = num + 1
num += 1
console.log(num)
1.3一元运算符
众多的JS的运算符可以根据所需求的表达式的个数,分为一元、二元、三元运算符
二元运算符:
let num = 10 +20
一元运算符:
例:正负号
自增:
符号:++
作用:让变量+1
用法:
let num =10
// 一元运算符
// ++num 等价于num+=1
num++
console.log(num)
前、后置自增:(独立使用,没有区别)
每执行一次,变量+1,相当于num+=1
区别:前置自增:先自加在使用
后置自增 先使用后自加
let i = 1
// 后置自增 先使用 后自加
console.log(i++ + 2)//3
console.log(i)//2
// 前置自增 先自加 后使用
console.log(++i + 2)//4
console.log(i)//3
注:一般开发中都是独立使用,后面i++后置自增使用较多
自减:
符号:--
作用:让变量的值-1
使用场景:经常用于计数使用
1.4比较运算符
作用:比较两个数据大小,是否相等
比较运算符:
>
<
>=
<=
==:左右两边是否相等
===:左右两边是否类型和值都相等
!==:左右两边是否不相等
比较结果为boolean,即只会得到true或false
console.log(3 > 5)//false
// console.log(5 = 5)
//== 只要值一样是true 不管数据类型
console.log(5 == 5)//true
//=== 一行判断中要用 === 开发常用
console.log(5 === '5')//false
比较字符串细节
字符串比较,是比较字符对于的ASCLL码
//特殊情况
console.log('pink' > 'red')//false
console.log('pink' > 'pin')//true
注:从左往右依次比较
如果第一位一样再比较第二位,以此类推
比较的少,了解即可
NaN不等于任何值,包括它本身
尽量不要比较小数,因为小数有精度问题
不同类型之间比较会发生隐式转换
console.log(0.1 + 0.2 === 0.3)//false
console.log(0.1 + 0.2)//0.3000000000004
console.log(3 > '2')//true
1.5 逻辑运算符
用来解决多重条件判断
符号 | 名称 | 日常读法 | 特点 | 口诀 |
&& | 逻辑与 | 并且 | 两边true,结果才为true | 一假则假 |
|| | 逻辑或 | 或者 | 一个true,就为true | 一真则真 |
! | 逻辑非 | 取反 | true变false,false变true | 真变假,假变真 |
// 逻辑与
console.log(true && true)//true
console.log(true && false)//false
// 逻辑或
console.log(true || false)//true
console.log(false || false)//false
// 逻辑非
console.log(!true)//false
运算符里的短路
短路:只存在于&&和||中,当满足一定条件会让右边代码不执行
符号 | 短路条件 |
&& | 左边为false就短路 |
|| | 左边为true就短路 |
原因:通过左边就能得到结果,没必要再判断右边
运算结果:无论是&&还是||,运算结果最后都是被执行的表达式值,一般用在变量赋值
(案例)判断一个数是4的倍数,且不是100的倍数
let num = prompt('请输入一个数')
console.log(num)//控制台是空字符串''当假看
num = num || 0
console.log(num % 4 === 0 && num % 100 !== 0)
1.6运算符优先级
一元运算符里面的逻辑非优先级很高
逻辑与比逻辑或优先级高