JS基本语法

133 阅读2分钟

什么是表达式和语句 标识符的规则 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)
}
输出:01234
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

哲思:在学习一门语言是,往往要结合一个例子或者相应的应用场景,不然很难理解设计者设计这个语法的初衷,故而就很难在实际开发中灵活运用之