#再读JS# (1)基本语法

以下为读完阮一峰的《JavaScript 的基本语法》总结的易被忽略的知识点:

  • 语句与表达式

语句:JavaScript 程序的执行单位为行,一行就是一个语句。

var a=1+2;

表达式:指一个为了得到返回值的计算式。表达式的值为函数的返回值。

1+2  //值为3
console.log  //值为console.log
console.log(3)   //值为undefined

语句和表达式的区别在于,前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值。 ——并不绝对
空格和回车语句在语句中一般无意义,除return后跟回车再跟值js会自动补齐成return undefined造成错误

  • 变量

如果只是声明变量而没有赋值,则该变量的值是undefined。undefined是一个特殊的值,表示“无定义”。
如果变量赋值的时候,忘了写var命令,这条语句也是有效的。但容易生成全局变量,不建议。

a=1; //等同于 var a=1;

如果使用var重新声明一个已经存在的变量,但没有赋值,是无效的。
但是,如果第二次声明的时候还进行了赋值,则会覆盖掉前面的值。

  • 标识符

第一个字符,可以是*任意 Unicode 字母(包括英文字母和其他语言的字母) * ,以及美元符号($)和下划线(_)
所以中文也是可以的

  • 区块

JavaScript 使用大括号,将多个相关的语句组合在一起,称为“区块”(block)。但var生成变量不受区块的作用域限制

  • 三元运算符

(条件) ? 表达式1 : 表达式2
如果表达式1不写,会造成死循环。

  • 标签(label)

JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式:

label:
  语句

标签通常与break语句和continue语句配合使用,跳出特定的循环。

top:
  for (var i = 0; i < 3; i++){
    for (var j = 0; j < 3; j++){
      if (i === 1 && j === 1) break top;
      console.log('i=' + i + ', j=' + j);
    }
  }
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0

break跳出整个双层循环,如是continue是跳出内层循环再外层继续。
如果没有top标签,break只能跳出内层循环,继续执行外层循环;而continue只能跳出内层循环那一次,继续执行内层后面的。。
continue与标签配合,同理。

参考:https://wangdoc.com/javascript/basic/grammar.html#%E8%AF%AD%E5%8F%A5

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页