js学习:基本语法结构

天涯浪子 提交于 2019-12-06 07:20:37

语句

JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。

语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。

var a = 1 + 3;

这条语句先用var命令,声明了变量a,然后将1 + 3的运算结果赋值给变量a。
1 + 3叫做表达式(expression),指一个为了得到返回值的计算式。
语句和表达式的区别在于,前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值。
凡是 JavaScript 语言中预期为值的地方,都可以使用表达式。
比如,赋值语句的等号右边,预期是一个值,因此可以放置各种表达式。

语句以分号结尾,一个分号就表示一个语句结束。多个语句可以写在一行内。

分号前面可以没有任何内容,JavaScript 引擎将其视为空语句。

表达式不需要分号结尾。一旦在表达式后面添加分号,则 JavaScript 引擎就将表达式视为语句,这样会产生一些没有任何意义的语句。

注释

单行注释:

// .....单行注释

多行注释:

/*
    这里是多行注释
    这里是多行注释
*/

此外,还兼容 HTML 的注释

区块

大括号,将多个语句组合在一起,叫做区块

对于var命令来说,js区块不构成单独的作用域(scope)

{
  var a = 1;
}

a // 1

上面代码在区块内部,使用var命令声明并赋值了变量a,然后在区块外部,变量a依然有效,区块对于var命令不构成单独的作用域,与不使用区块的情况没有任何区别。在 JavaScript 语言中,单独使用区块并不常见,区块往往用来构成其他更复杂的语法结构,比如for、if、while、function等。

条件

if 结构

if (布尔值)
  语句;

// 或者
if (布尔值) 语句;
if (布尔值) {
  // 满足条件时,执行的语句
} else {
  // 不满足条件时,执行的语句
}

if else 的结构可以接着写多个,进行多个条件的判断

switch 结构

switch (变量) {
  case 值1:
    // ...
    break;
  case 值2:
    // ...
    break;
  default:
    // ...
}

break用来跳出 switch语句,否则会继续执行下一个case

三元运算符

(条件) ? 表达式1 : 表达式2

循环

while 循环

只要条件为真,就不断循环执行代码块

while (条件)
  语句;

// 或者
while (条件) 语句;

do...while 循环

与while循环类似,唯一的区别就是先运行一次循环体,然后判断循环条件

do
  语句
while (条件);

// 或者
do {
  语句
} while (条件);

不管条件是否为真,do...while循环至少运行一次,这是这种结构最大的特点。另外,while语句后面的分号注意不要省略。

for 循环

for (初始化表达式; 条件; 递增表达式)
  语句

// 或者

for (初始化表达式; 条件; 递增表达式) {
  语句
}
  • 初始化表达式(initialize):确定循环变量的初始值,只在循环开始时执行一次。
  • 条件表达式(test):每轮循环开始时,都要执行这个条件表达式,只有值为真,才继续进行循环。
  • 递增表达式(increment):每轮循环的最后一个操作,通常用来递增循环变量。

break 与 continue

break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行。

break语句用于跳出代码块或循环。

continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。

如果存在多重循环,不带参数的break语句和continue语句都只针对最内层循环。

标签 label

语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。

label:
  语句

标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。

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

~~~~~ END ~~~~~

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!