JS 的基本语法

302 阅读2分钟

表达式和语句

  • 表达式一般有值,语句不一定有值
  • 语句一般会改变环境,例如声明,赋值
  • 以上两点不是绝对的

标识符的规则

  • 标识符的第一个字符可以是Unicode字符,中文,美元符号$,下划线_
  • 标识符的其他字符可以是Unicode字符,中文,美元符号$,下划线,数字
  • 避免连续使用多个下划线作为标识符

if else 语句

  • if(条件表达式){代码} 条件为ture时执行代码

  • if(条件表达式){代码1}else{代码2} 条件表达式为true执行代码1,条件值为false执行代码2

  • if(条件表达式1){代码1}else if(条件表达式2){代码2}else if(条件表达式3){代码3}....else{} 哪个条件表达式成立,就执行对应代码,构成选择代码。

  • switch语句可用于条件判断与选择

switch(表达式){
 case '表达式1' :  语句1break;
 case '表达式2' :  语句2break;
 ......
 case '表达式n' :  语句n;
     break;
 default;
 }  
  • switch语句可用于多条件判断,例如:
var a=2;
switch(a){
    case 1 :
    case 3 :  cosole.log('奇数');
    break;
    case 2 :
    case 4 :  console.log('偶数');
    break;
}
  • switch语句不可省略break,否则进行条件判断并执行语句后会继续执行下面的条件,不会停止

  • 问号冒号表达式 表达式1?表达式2:表达式3 判断表达式1,为true执行2,为false执行3。

  • A && B && C && D && E取值为第一个假值或E,并不取值true/false。应用案例:IE没有console,可以用console && console.log && cosole.log('hello');避免错误

  • A || B || C || D || E 取值为第一个真值或E,并不取值true/false。

while/for 语句

  • while(条件表达式){循环执行的语句} 判断条件->执行循环体->判断条件;while(true){语句}会导致死循环。

  • for(语句1;表达式2;语句3){循环体语句} 先执行语句1,然后判断表达式2,如果为true,执行循环体,再执行语句3;如果为false,退出循环。表达式2不能省略,会导致死循环。

  • 在循环语句中,设置语句延迟执行,会有一些有趣的结果,例如

for(var i=0;i<5;i++){
   setTimeout(()=>{console.log(i)},0);
}

这段代码输出结果为5,5,5,5,5,因为语句延迟执行,执行语句时i的值已经变为5。

break/continue

在循环体中使用break,会跳出本层循环。在循环体中使用continue,会跳出本次循环。存在多层循环时,均不会影响外层循环。

label

label的语法为foo:{代码},用foo表示后面的{代码},和对象略有差异。例如 foo:1 ,foo表示1