js语法
表达式和语句
- 表达式会产生一个值,它可以放在任何需要一个值的地方,比如作为一个函数调用的参数
- 语句可以理解为一种行为,比如循环语句和 if 语句就是典型的语句
- 区别
- 表达式一般有值,语句可能有也可能没有
- 语句一般会改变环境(比如声明,赋值)
- 当然以上两句并非绝对
标识符
- 第一个字符,可以是 Unicode 字母或 $ 或 _ 或中文
- 后面的字符除了以上提到的还可以使用数字(首个字符不可以数字)
if 语句
- 语法
- if(表达式){语句 1}else{语句 2}
- {}在语句只有一句的时候可以省略
- 变态情况
- if 之后表达式的问题,有时候会写错成语句比如 a=1 这样
- if 的嵌套问题
- 缩进的问题
switch 语句
语法
1
2
3
4
5
6
7
8
9
10switch (fruit) {
case 'banana':
//...
break;
case 'apple':
//...
break;
default:
//...
}注意 break 的作用
短路逻辑
- A && B
- 如果 A 为真,执行 B
- 如果 A 为假,执行 A
- A || B
- 如果 A 为真,执行 A
- 如果 A 为假,执行 B
while 循环
- 语法
- while (表达式){语句}
- 判断表达式的真假
- 为真执行语句,再次判断表达式
- 为假执行之后语句
- do…while 会先执行一次再判断
- 判断时要注意 JS 中浮点数问题,在 JS 中 0.1+0.2 不等于 0.3(控制台可试)
for 循环
语法
for(语句 1;表达式 2;语句 3){循环体}
先执行表达式 1
然后判断表达式 2
为真,执行循环体,然后执行语句 3
为假,直接退出循环,执行后面的语句
经典题目
1
2
3
4
5
6for (var i = 0; i < 5; i++) {
setTimeout(() => {
console.log(i);
}, 0);
}
//问:输出是什么答案是 5 个 5,关键点是 setTimeout 是一个异步函数,这里如果使用 let 就是 0 到 4 了(利用了 let 块级作作用域)
break 与 continue
- break 会退出所有循环
- continue 会退出当前一次的循环
label 语句
是一个标签,在代码执行时可以实现跳转等功能
1
2
3{
a: 1;
}此时这是一个代码块,a 是一个 label ,里面的语句是 1
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!