JS言语中心——“语句”

  • 表达式语句(expression statement):把表达式当作语句的用法;

  • 声明语句(declaration statement):用来声明新变量或定义新函数;

  • 掌握构造(control structure):转变语句的默许实行递次:

    • 前提(conditional)语句;

    • 轮回(loop)语句;

    • 跳转(jump)语句;

1 表达式语句

赋值语句、delete运算符、函数挪用等

2 复合语句和空语句

复合语句

  • 复合语句(compound statement):将多条语句团结在一起,当做一条零丁的语句;

    • 语句块的末端不须要分号;

    • 语句块中的行要缩进整洁(为了可读性);

当愿望多条语句被当做一条语句运用时,就应该运用复合语句

{
    var x = Math.PI;
    console.log(x);
}

空语句

  • 空语句(empty statement):许可包括0条语句的语句:

    • 如果有特别目标须要用到空语句,那末在代码中增加解释:

var arr = [1,2,3];
for (var i = 0; i < arr.length; i++) /* empty */ ; //空语句

3 声明语句

3.1 var

语法:var name_1 [ = value_1 ] [,..., name_n [ = value_n ]]

3.2 function

语法:

function funcname ([arg1 [, arg2 [..., argn]]]) {
    statements
}

4 前提语句

4.1 if

语法:

if (condition) {
    // statement
}

语法:

if (condition) {
    // statement
} else {
    // statement
}

4.2 else-if

语法:

if (condition) {
    // statement
} else if (condition) {

} else if (condition) {

} else {

}

4.3 switch

语法:

switch (expression) {
    case label_1:
        // statements_1
        break;
    default:
        // statements_def
        break;
}

case婚配操纵实际上是恒等运算符的比较

5 轮回

5.1 while

语法:

while (condition) {
    // statement
}

5.2 do-while

语法:

do{
    // statement
} while (condition);

5.3 for

症结点在于初始化、检测和更新

语法:

for (initialize; test; increment) {
    statement
};
//相当于以下的while轮回:
initialize;
while (test) {
    statement
    increment;
}

//死轮回:
while(true);
for(;;);

5.4 for-in

用来遍历对象属性;

语法:

for (variable in object) {
    // statement
}
//将一切对象属性复制到一个数组中
var o = {
    x: 1,
    y: 2,
    z: 3
};
var a = [],
    i = 0;
for (a[i++] in o);
console.log(a.toString()); //x,y,z

6 跳转

6.1 标签语句

语法:identifier: statement

var arr = [1,2,3];
mainloop: for (var i = 0; i < arr.length; i++) {
    console.log(arr[i]);
    if (arr[i] === 2) {
        break mainloop; //当arr[i]为2时完毕轮回
    }
};

6.2 break语句

语法:break;break labelname;

var arr = [1,2,3];
for (var i = 0; i < arr.length; i++) {
    if (arr[i] === 2) {
        console.log(arr[i]);
        break;
    }
};

经由过程break来跳出非就近的轮回体或许switch语句时,就会用到带标签的break语句

6.3 continue语句

语法:continue;continue labelname;

6.4 return语句

语法:return expression;

6.5 throw语句

语法:throw expression;

var x = 2;
if (x !== 3) {
    throw new Error("no access."); //Uncaught Error: no access.
}

6.6 try/catch/finally语句

语法:

try {
    // statements
} catch(e) {
    // statements
    console.log(e);
}

try {
    // statements
} catch(e) {
    // statements
    console.log(e);
} finally {
    // statements
}
try {
    throw new Error("hello");
} catch(e) {
    console.log(e.message); //"hello"
} finally {
    console.log("finally run"); //finally run
}

7 其他语句范例

with、debugger、use strict

7.1 with语句

用于暂时扩大作用域链

严厉形式下制止

7.2 debugger语句

ECMAScript 5正式到场debugger,作用是发生一个断点

7.3 use strict

语法:"use strict"

    原文作者:JS菌
    原文地址: https://segmentfault.com/a/1190000004704084
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞