JavaScript的基本语法

144 阅读3分钟

一、表达式与语句

  • 表达式一般都有值,语句可能有也可能没有值

  • 语句一般会改变环境(声明、赋值)

eg: a = 1是一个环境,var a = 1是一个语句

  • 以上两句并不绝对
  • 只有函数有返回值

eg:1+2表达式的3

add(1,2)表达式的值为函数的返回值

console.log表达式的值为函数本身

console.log(3)表达式的值是多少?是undefined

image.png

二、JS的大小写敏感

注意严格区分

如:var avar A; functionFunction 都是不同的意思

三、空格

  • 大部分的空格没有实际意义,只要不影响断句。 如 var a = 1var a=1没有区别;

  • 回车也可以随便加,但是有一个地方不能回车,return的后面,如果return后面什么也不写加了回车,JS会自动补充一个undefined。 image.png

四、标识符

(取名字时用到的符号)

  • 规则:

第一个字符可以是Unicode字母或 $_ 或者中文

eg: var _ = y ; var 你好 = ‘hi’

后面的字符除了以上几种,还可以是数字

eg:var $9 = x

五、注释

// 只能注释一行

/* 可以注释多行*/

正确运用注释

  • 踩坑的注解
  • 为了解决bug而写的奇怪代码

六、区块block

用{ }把代码包在一起,常与if/for/while合用

七、条件语句

1、if语句

语法

  • if(表达式) {语句1} else {语句2}

  • { } 在语句只有一句的时候可以省略,但不建议这样做 eg:

if(a < 100)
    if(a < 10)

变态情况

  • 语句1和语句2里,都可以有嵌套的if else
  • 缩进也可以很变态

image.png

image.png

  • 永远使用最没有歧义的写法

image.png

image.png

2、switch语句

语法

(切记不要省略break)

switch (fruit) {
   case “banana”:
      // …
     break;
   case “apple”:
     // …
     break;
   default:
    // …
}

3、问号冒号表达式

  • 表达式1?表达式2;表达式3

  • 最简单的if else的写法,能用?:时就不要用if else。

  • 常用于简化if和else里只有一个语句。或者求一个数字的绝对值时。 eg: image.png

4、&&短路逻辑

A && B && C && D 取第一个假值或D,并不会取ture/false

5、||短路逻辑

A || B || C || D 取第一个真值或D,并不会取ture/false; eg:

image.png

八、循环语句

1、while循环

语法

while(表达式) {语句}

  • 首先判断表达式的真假;
  • 如果表达式为真,就执行语句,执行完再次判断表达式的真假;
  • 如果表达式为假,执行后面的语句。

变态情况

image.png

浮点数不精确导致永远不会等于1,就会死循环

2、for循环

forwhile循环的方便写法

语法:

for(语句1;表达式2;语句3){ 循环体 }

  • 先执行语句1,然后判断表达式2,如果为真,执行循环体;如果为假,直接退出循环,执行后面的语句。

3、break和continue

break退出所有循环,continue退出当前一次循环 image.png

image.png

  • 当有两层循环时,break只会跳出离它最近的for eg: image.png

九、label 标记语句

标记语句可以和 breakcontinue语句一起使用。标记就是在一条语句前面加个可以引用的标识符。

语法:

foo: {
  console.log(1);
  break foo;
  console.log('this will not be executed');
}
console.log('2');

面试题:

{
   fool:1
}

以上代码是什么?答:foollabel,它的语句是1

阮一峰JS语法入门资料

©本文为Easar的原创文章,著作权归本人和饥人谷所有,转载务必注明来源