JS 的基本语法

72 阅读2分钟

一、表达式和语句

表达式(Expression)一般有值,而语句(Statement)不总有。

表达式是可以被求值的代码,而语句是一段可执行代码,一般会改变环境(声明,赋值)。

因为表达式可被求值,所以它可写在赋值语句等号的右侧。

而语句不一定有值,所以像import、for和break等语句就不能被用于赋值。

例如:

  • 1+2表达式的值为3;
  • 表达式如果是一个函数,则表达式的值为函数的返回值;
  • console.log表达式的值为函数本身;
  • console.log(3)表达式的值为undefined。
  • var a = 1 则是一个语句。

二、空格与回车的含义

大部分空格没有实际意义

  • var a=1和var a= 1没有区别;
  • 加回车大部分时候也不影响
  • return后面不能加回车

三、标识符

标识符的第一个字符可以是Unicode字母或$或_或中文(下划线最多两个),后面的字符可以是之前提到的以及数字。

四、if else语句

if else 语句的语法为 if(表达式){语句1} else {语句2}。

{ }在语句只有一句的时候可以省略,但最好写全,不然可能会引起歧义。

最推荐使用的写法

if (表达式) {
语句
} else if (表达式) { 
语句
} else { 
语句
}

次推荐使用的写法

function fn(){ 
if (表达式) { 
return 表达式
} 
if (表达式) {
return 表达式
}
return 表达式
}

五、switch语句(if...else的升级版,但一般不用)

switch (fruit) { 
case "banana":
// ... 
break; 
case "apple": 
// ... 
break; 
default: 
// ... }

break不能漏写

六、while for 语句

  1. while语句的语法为 while(表达式){语句} 。执行时会先判断表达式的真假,当表达式为真,执行语句,执行完再判断表达式的真假;当表达式为假,则执行后面的语句。

注意:可能会受浮点数的影响!

  1. for则是whil循环的简便写法,语法为for(语句1;表达式2;语句3){循环体}。
  • 执行时会先执行语句1,然后判断表达式2。

  • 如果为真,则执行循环体,然后执行语句3;

  • 如果为假,则直接退出循环,然后执行后面的语句。

注意:for 循环在 let 时会有单独的逻辑,有别于var!

七、break和continue

break意思是退出所有循环;continue意思是退出当前一次循环。(continue只会退出当前所在的循环,并不影响其他循环)

八、label 语句(用的很少)

label是任何不属于保留关键字的 JavaScript 标识符。要注意的是以下代码:

foo:{
  console.log(1);
  break foo;
  console.log("本行不会输出");
}
console.log(2);

输出1和2