JavaScript的运算符和语句

运算符

一、赋值运算符

赋值运算符:对变量进行赋值的运算符

  • 赋值运算符有:
    +=
    -=
    *=
    /=
    %=

num += 3 相当于 num = num + 3

二、一元运算符

只用一个数字就可以做计算的运算符

  • 自增:
    符号:++
    作用:让变量的值 +1
  • 自减:
    符号:–
    作用:让变量的值 -1
  • 使用场景:经常用于计数来使用

自增运算符的用法

  1. 前置自增
let num = 1
++num   //让num的值+1变成2

每次执行一次,相当于num += 1 相当于num = num + 1

  • 先自加再使用(记忆口诀:++在前 先加)
let i = 1
console.log(++i + 2)   //结果是4
//i是2,i先+1变成2以后再+2
  1. 后置自增
let num = 1
num++   //让num的值+1变成2

每次执行一次,相当于num += 1 相当于num = num + 1

  • 先使用再自加(记忆口诀:++在后 后加)
let i = 1
console.log( + 2)   //结果是3
//i是2,i先+1还没变再+2,然后i才变成2

注意:前置自增和后置自增在单独使用时没有区别

三、比较运算符

比较两个数据大小、是否相等

  • 比较运算符有
    >: 左边是否大于右边
    <: 左边是否小于右边
    >=: 左边是否大于或等于右边
    <=: 左边是否小于或等于右边
    ==: 左右两边值是否相等
    ===: 左右两边是否类型和值都相等(开发中判断是否相等,强烈推荐使用 ===)
    !==: 左右两边是否不全等
    比较结果为boolean类型,即只会得到 true 或 false

  • 字符串比较,是比较的字符对应的ASCII码
    从左往右依次比较
    如果第一位一样再比较第二位,以此类推

  • NaN不等于任何值,包括它本身
    涉及到"NaN“ 都是false

  • 尽量不要比较小数,因为小数有精度问题

  • 不同类型之间比较会发生隐式转换
    最终把数据隐式转换转成number类型再比较
    所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==

四、逻辑运算符

使用场景:用来解决多重条件判断

  • 逻辑运算符:
五、运算符优先级
  • 一元运算符里面的逻辑非优先级很高
  • 逻辑与比逻辑或优先级高

语句

一、表达式和语句
  • 表达式:
    表达式是可以被求值的代码,JavaScript 引擎会将其计算出一个结果。
  • 语句:
    语句是一段可以执行的代码。
  • 区别
    • 表达式:因为表达式可被求值,所以它可以写在赋值语句的右侧。
      表达式 num = 3 + 4
    • 语句:而语句不一定有值,所以比如 alert() for和break 等语句就不能被用于赋值。
      语句 alert() 弹出对话框 console.log() 控制台打印输
二、分支语句
1、if语句

单分支语句

if (条件) {
  满足条件要执行的语句  
}
  • 括号内的条件为true时,进入大括号里执行代码
  • 小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
  • 除0以外的数字的返回值都是true,除空字符串’'以外的字符串的返回值都是true
  • 如果大括号只有一个语句,大括号可以省略,但是不提倡这么做~

双分支语句

if (条件) {
  满足条件要执行的语句  
} else{
  不满足条件要执行的语句  
}

多分支语句
使用场景: 适合于有多个结果的时候

if (条件) {
  语句1
} else if (条件2){
  语句2
} else if (条件3){
  语句3
} else {
  语句n
}
  • 先判断条件1,若满足条件1就执行代码1,其他不执行
  • 若不满足则向下判断条件2,满足条件2执行代码2,其他不执行
  • 若依然不满足继续往下判断,依次类推
  • 若以上条件都不满足,执行else里的代码n
  • 注:可以写N个条件
2、三元语句

语法:条件 ?满足条件执行的代码 :不满足条件执行的代码
一般用来取值

3、switch语句
  • 找到跟小括号里数据全等的case值,并执行里面对应的代码
  • 若没有全等 === 的则执行default里的代码
    语法:
switch (数据) {
  case1:
       代码1
       break
  case2:
       代码2
       break
  default:
       代码n
       break
}
  1. switch case语句一般用于等值判断,不适合于区间判断
  2. switch case一般需要配合break关键字使用 没有break会造成case穿透
三、循环语句

断点测试

  • 作用:学习时可以帮助更好的理解代码运行,工作时可以更快找到bug
  • 浏览器打开调试界面
    1. 按F12/右键检查打开开发者工具
    2. 点到sources一栏
    3. 双击选择代码文件
    4. 选择需要断点的行
    5. 刷新页面
    6. 点击这个按钮执行下一行代码
  • 断点:在某句代码上加的标记就叫断点,当程序执行到这句有标记的代码时会暂停下来

while循环

  1. while循环语法:
while (循环条件){
  要重复执行的代码(循环体)
}
  • 跟if语句很像,都要满足小括号里的条件为true才会进入 循环体 执行代码
  • while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,直到括号内条件不满足,即跳出
  1. while循环的三要素
    1. 定义变量起始值
    2. 设置终止条件(没有终止条件,循环会一直执行,造成死循环)
    3. 定义变量变化量(用自增或者自减)
let i = 1   //1. 变量起始值
while (i<=3){  //2. 终止条件
  document.write(`我会循环三次`)<br>
  i++  //变量变化量
}
  1. 循环退出
  • 循环结束:
    • break:退出循环
    • continue:结束本次循环,继续下次循环
  • 区别:
    • continue 退出本次循环,一般用于排除或者跳过某一个选项的时候, 可以使用continue
    • break 退出整个循环,一般用于结果已经得到, 后续的循环不需要的时候可以使用
for循环

1. for循环基本使用

  • 语法
for (变量起始值; 终止条件; 变量变化量){
    //循环体
}
  • 退出循环
    continue 退出本次循环,一般用于排除或者跳过某一个选项的时候, 可以使用continue
    break 退出整个for循环,一般用于结果已经得到, 后续的循环不需要的时候可以使用
  • 无限循环
    while(true) 来构造“无限”循环,需要使用break退出循环。
    for(;😉 也可以来构造“无限”循环,同样需要使用break退出循环。

2. 循环嵌套
语法:

for (外部声明记录循环次数的变量;循环条件;变化值) {
  for(内部声明记录循环次数的变量;循环条件;变化值){
    循环体
  }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值