【JavaScript】JavaScript基础二

运算符

赋值运算符

赋值运算符用于简化变量自身的算数运算

  • =:普通赋值
  • +=:算数赋值
  • -=
  • *=
  • /=
  • %=

自增运算符

自增运算符常用于计数

  • ++number:前置自增
  • number++:后置自增
  • --number:前置自减
  • number--:后置自减

前置自增和后置自增的区别:前置自增先自增再参与运算后置自增先参与运算再自增

比较运算符

  • >
  • <
  • <=
  • >=
  • !==:左右两边是否不全等
  • ==:左右两边值是否相等
  • ===:左右两边值和类型是否都相等

注意事项:

  • 字符串比较,比较的是 ASCII 码,从左至右依次比较
  • NaN 不等于任何值,包括它本身
  • 尽量不要比较小数,有精度问题

逻辑运算符

  • &&
  • ||
  • !

运算符优先级

  • 小括号
  • 一元运算符
  • 算数运算符:先*/+-
  • 关系运算符
  • 相等运算符
  • 逻辑运算符:先&&||
  • 赋值运算符
  • 逗号运算符

语句

表达式和语句

表达式是可以被求值的代码

语句是一段可以执行的代码,不一定有值

if 语句

if 单分支语句

1
2
3
4
let age = Number(prompt('请输入您的年龄‘))
if (age > 18) {
  console.log('成年人')
}
  • 括号内为 true 时,执行大括号内代码
  • 小括号内不是 boolean 类型数据时,会发生隐式转换
  • 大括号只有一条语句时,可以省略大括号,但是不提倡

if 双分支语句

1
2
3
4
5
6
let age = Number(prompt('请输入您的年龄'))
if (age > 18) {
  console.log('成年人')
} else {
  console.log('少年人')
}

if 三分支语句

1
2
3
4
5
6
7
8
let score = Number(prompt('请输入您的成绩');
if (score > 90) {
  console.log('优秀');
} else if (score > 80) {
  console.log('良好');
} else {
  console.log('一般');
}

三元运算符

if 双分支更简单的写法

?:结合

条件 ? 满足条件执行的代码 : 不满足条件执行的代码

1
2
3
4
let a = 1
let b = 2
// 三目运算符
a > b ? a : b

switch 语句

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
let number = +prompt('请输入一个1-7数字')
switch (number) {
  case 1:
    console.log('星期一')
    break
  case 2:
    console.log('星期二')
    break
  case 3:
    console.log('星期三')
    break
  case 4:
    console.log('星期四')
    break
  case 5:
    console.log('星期五')
    break
  case 6:
    console.log('星期六')
    break
  case 7:
    console.log('星期七')
    break
  default:
    console.log('输入有误')
}
  • 表达式的值必须与 case 语句后的值全等
  • case 语句后应该加上 break 语句,否则会穿透
  • 应该加上 default 语句,没有匹配的值时,执行该语句

断点调试

  • 打开开发者工具
  • 添加断点
  • 刷新浏览器

while 循环语句

1
2
3
4
5
let n = 0
while (n < 5) {
  console.log(n)
  n++
}

退出循环

  • break 退出整个循环
  • continue 跳过本次循环,继续下一个循环

for 循环语句

相比于 while 循环,for 循环把起始量,循环条件,循环量自增放在一起,更加清晰。

1
2
3
for (var i = 0; i < 10; i++) {
  console.log(i);
}

遍历数组

1
2
3
4
let arr = [1, 2, 3, 4, 5]
for (let i = 0; i < arr.length; i++) {
  console.log(arr[i])
}

退出 for 循环

  • break
  • continue

循环嵌套

1
2
3
4
5
6
7
8
// 外层循环,控制行数
for (let i = 0; i < 10; i++) {
  // 内层循环,控制列数
  for (let j = 0; j <= i; j++) {
    document.write(`${i} * ${j} = ${i * j}`)
  }
  document.write(`</br>`)
}
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计