什么是表达式和语句 标识符的规则 if else 语句 while for 语句 break continue label
表达式和语句
- 表达式:如1+2
- 语句: 如var a = 2
标识符规则
Unicode字母,$,_,中文都可以作为开头
如:$ , __ , link1 , asd11122 , _asda213
注释
- 好的注释:
- 采坑的注解,踩过的坑犯过的错
- 描述为什么写了这些代码
- 坏的注释:
- 代码的解释翻译
- 过时的注释
- 发泄情绪时随意加入的无关的注释
分支语句(if-else)
分支语句分为:
- if-else
- switch
- 条件 ? 语句1 : 语句2
- && 短路逻辑(取第一个假值或者最后一个值)常用: fn && fn()
- || 短路逻辑(取第一个真值或者最后一个值)常用: a = a || b(保底值b)
注意:switch最好写上break,不然结果或许不尽如人意,再或许,尽量不要用switch
&& 和 || 并不是取值为true 或者 false
循环语句(while for)
循环语句一般有:
- while
- do-while(少用)
- for
while
var a = 0.1;
while(a !== 1){
console.log(a);
a = a + 0.1;
}
由于浮点数不准确,所以此处为死循环
为了试验一波,刚刚我就死机了......
for
for(语句1;语句2;语句3){
语句4
}
执行顺序:
- 1
- 判断2
- 如果是真,执行4之后执行3
- 如果是假,退出循环
for(var i=0;i<5;i++){
console.log(i)
}
输出:0,1,2,3,4
for(var i=0;i<5;i++){
setTimeout(
()=>{
console.log(i)
},0);
}
输出: 5 5 5 5 5
因为setTimeout函数是异步函数,等待当前执行完之后才执行,所以是i最后结束后的取值
break continue语句
- break语句结束循环,但是只结束一层循环
- continue结束此次循环,进行下次循环
label
{
foo : 2;
}
这就是一个label
哲思:在学习一门语言是,往往要结合一个例子或者相应的应用场景,不然很难理解设计者设计这个语法的初衷,故而就很难在实际开发中灵活运用之