赞
踩
目录
算术运算符有: 算术运算符 + - * / ++ -- %
% 取模运算符
- console.log(1 + 2)
- console.log('1' + 2) // 字符串参与的加其实是拼接 '1' + '2' -> '12'
- console.log(+8)
- console.log('12' - 2) // 12 - 2 -> 10
- console.log(20 * 2)
- console.log(4 / 3)
- console.log(4 / 2)
% 取模运算符
- console.log(4 % 2) // 0
- console.log(4 % 3) // 1
递增运算符:
递增: 给一个数加一操作 num
前置递增: ++num , 先自增再进行运算 用自增后的值进行运算
后置递增: num++ , 先运算再进行自增 先用原来的值进行运算
递减运算符:
递减: 给一个数减一操作 num
前置递减: ++num , 先自减再进行运算 用自减后的值进行运算
后置递减: num++ , 先运算再进行自减 先用原来的值进行运算
- let x = 5
- //let y = x++ // x++整体赋值给y,用的是x原有的值
- let y = ++x // ++x整体赋值给y,用的是x加1后的值
- // x++ // 让x在原有基础上加1
- // ++x // 让x在原有基础上加1
- console.log(x) // 6
- console.log(y) // 6
-
- let i = 3,
- j = 4,
- k
- ++i
- j++
- k = j++
- console.log(i, j, k) // 4 6 5
3、关系运算符
关系运算符有: >, < ,>=, <= , ==, ===, != , !==
- console.log(3 > 2) // true
- console.log(10 <= 10) // true
- // == 不严格等于,只要内容相同即可
- console.log(5 == 5) // true
- console.log(5 == '5') // true
- // === 严格等于,内容与类型都需要一样
比较运算符:== === 用比较运算符做判断时,返回的值是true或false
= 是赋值
== 相等 首先先把两个的数据类型转换为同一种数据类型,在进行值的对比,如果值不相等就返回false,否则返回true
=== 完全想等 不会进行数据类型的转换,只有数据类型和值全部相等才会返回true
true只有在不加引号的时候才会转换为1
- console.log(5 === 5) // true
- console.log(5 === '5') // false
- console.log(null == null) // true
- console.log(NaN == NaN) // false
- console.log(undefined == undefined) // true
- console.log(null === null) // true
- console.log(NaN === NaN) // false
- console.log(undefined === undefined)
- console.log(null == undefined) // true
- console.log(null === undefined) // false
- console.log(5 != '5') // false 对==的否定
- console.log(5 !== '5') // true 对===的否定
null与undefined的区别?
1、含义:null代表一个空值,以后会指向一个引用类型
undefined表示没有值,默认是undefined
2、用Number转换把null转换成0,把undefined转换成NaN
3、null==undefined // true
null === undefined // false
逻辑运算符: 主要是布尔值之间的运算,返回结果是布尔值
&&逻辑与 || 逻辑或 ! 逻辑非
逻辑与:全部为真才为真,否则为假
逻辑或:全为假才为假,否则是真
逻辑非: 主要针对布尔值的取反操作
&&逻辑与:表达式1&&表达式2
判断表达式1的值,转布尔类型假如为true,直接返回表达式2的值
表达式1的值转布尔类型假如为false,直接返回表达式1的值
- console.log(5 > 3 && 10 < 5) // true&&false false
- console.log(5 > 3 && 10 > 5) // true&&true true
- console.log(5 == 3 && 10 < 5) // false&& false false
- console.log(5 && 6) // 6
- console.log(10 > 8 && 0) // 0
- console.log('' && 100) //''
逻辑或 || 判断表达式1的值,转布尔类型假如为true,直接返回表达式1的值
- console.log(5 > 3 || 10 < 5) //
- console.log(5 > 3 || 10 > 5) //
- console.log(5 == 3 || 10 < 5) //
- console.log(5 || 6) // 5
- console.log(10 > 8 || 0) // true
- console.log('' || 100) // 100
短路运算符: 逻辑与 && 逻辑或 ||
逻辑与 &&: 如果遇到表达式为假时直接返回假,如果表达式中都为真则返回最后一个为真的表达式
逻辑或||: 如果第一个表达式的值为真,则返回表达式1; 如果第一个表达式的值为假,则返回表达式2
逻辑与短路现象
表达式1的值转布尔类型假如为false,直接返回表达式1的值,此时不会执行表达式2的值
- let i = 3
- console.log(null && ++i)
- console.log(i) //3
逻辑或短路现象
表达式1的值转布尔类型假如为false,直接返回表达式2的值,
- let j = 3
- console.log(null || ++j)
- console.log(j) //4
6、三目运算符
三元表达式: 表达式1 ? 表达式2 : 表达式3
如果表达式1成立,就返回表达式2,如果不成立就返回表达式3
- // 求两个数最大值
- let num1 = 10,
- num2 = 20
- num3 = 32
- // console.log(num1 > num2 ? num1 : num2)
- let max = num1 > num2 ? num1 : num2
- max = max > num3 ? max : num3
- console.log(`max=${max}`)
if 语句
// 条件成立执行代码,否则什么也不做
if (条件表达式) {
// 条件成立执行的代码语句
}
- if (1 !== 1) {
- console.log('1等于1')
- console.log('end')
- }
if else语句(双分支语句)
// 适合于检查多重条件。
if (条件表达式1) {
语句1;
} else {
// 上述条件都不成立执行此处代码
}
- const score = +prompt('请输入你的成绩')
- if (score >= 90) {
- alert('一朵小红花奖励')
- } else {
- alert('继续加油')
- }
if else语句(多分支语句)
// 适合于检查多重条件。
if (条件表达式1) {
语句1;
} else if (条件表达式2) {
语句2;
} else if (条件表达式3) {
语句3;
....
} else {
// 上述条件都不成立执行此处代码
}
- >=90 80~90 B 60~80 C <60 D
- const score = +prompt('请输入你的成绩')
- if (score >= 90) {
- alert('您的等级为A!!!')
- } else if (score >= 80) {
- alert('您的等级为B!!!')
- } else if (score >= 60) {
- alert('您的等级为C!!!')
- } else {
- alert('准备补考声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/652761推荐阅读
相关标签
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。