资讯专栏INFORMATION COLUMN

JS语言核心——“语句”

Galence / 1149人阅读

摘要:表达式语句把表达式当做语句的用法声明语句用来声明新变量或定义新函数控制结构改变语句的默认执行顺序条件语句循环语句跳转语句表达式语句赋值语句运算符函数调用等复合语句和空语句复合语句复合语句将多条语句联合在一起,当成一条多带带的语句语句块的结尾不

表达式语句(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"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79048.html

相关文章

  • JavaScript 简介

    摘要:简介原文链接简称是一种轻量级,解释型的编程语言,其函数是一等公民。标准的目标是让任何一种程序设计语言能操控使用任何一种标记语言编写出的任何一份文档。核心规定了如何映射基于的文档结构,以便简化对文档的任意部分的访问和操作。 JavaScript 简介 原文链接 JavaScript ( 简称:JS ) 是一种 轻量级,解释型 的编程语言,其函数是一等公民。众所周知,它是用于网页开发的脚...

    URLOS 评论0 收藏0
  • JavaScript 语言核心笔记(持续更新)

    摘要:在同一个块内,不允许用重复声明变量。中为新增了块级作用域。自带遍历器的对象有数组字符串类数组对象对象的对象等和结构对象。返回一个遍历器,使遍历数组的键值对键名键值。 目录 1.语法 2.类型、值和变量 3.表达式和运算符 4.语句 5.数组 6.对象 7.函数 8.全局属性和方法 9.词法作用域、作用域链、闭包 10.原型链、继承机制 11.this的理解 12.ES5新特性 13.E...

    suosuopuo 评论0 收藏0
  • 理解JavaScript的核心知识点:作用域

    摘要:也毫不例外,但在中作用域的特性与其他高级语言稍有不同,这是很多学习者久久难以理清的一个核心知识点。主要使用的是函数作用域。 关于作用域:About Scope 作用域是程序设计里的基础特性,是作用域使得程序运行时可以使用变量存储值、记录和改变程序的状态。JavaScript 也毫不例外,但在 JavaScript 中作用域的特性与其他高级语言稍有不同,这是很多学习者久久难以理清的一个核...

    HelKyle 评论0 收藏0
  • GraphQL 核心概念

    摘要:系列文章核心概念本文浅尝最近因为工作上新产品的需要,让我有机会了解和尝试。这篇文章主要分享的是的核心概念,主要分为和四部分。再次强调,本文主要讲的是的核心概念,中所定义的类,都是设计类,并不是具体实现代码。 A query language created by Facebook for describing data requirements on complex applicati...

    LancerComet 评论0 收藏0
  • JavaScript 闯关记

    摘要:对象数组初始化表达式,闯关记之上文档对象模型是针对和文档的一个。闯关记之数组数组是值的有序集合。数组是动态的,根闯关记之语法的语法大量借鉴了及其他类语言如和的语法。 《JavaScript 闯关记》之 DOM(下) Element 类型 除了 Document 类型之外,Element 类型就要算是 Web 编程中最常用的类型了。Element 类型用于表现 XML 或 HTML 元素...

    mj 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<