JavaScript高级程序设计(4)
第3章 语言基础(4)语句
#### 3.6.1 if 语句 - 语法 ```javascript if (condition) statement1 else statement2 if (condition1) statement1 else if (condition2) statement2 else statement3 ``` - 例子 ```javascript if (i > 25) { console.log("Greater than 25."); } else if (i < 0) { console.log("Less than 0."); } else { console.log("Between 0 and 25, inclusive."); } ``` #### 3.6.2 do-while 语句 - do-while 语句是一种后测试循环语句,即循环体中的代码执行后才会对退出条件进行求值。换句话说,循环体内的代码至少执行一次。do-while 的语法如下: ```javascript do { statement } while (expression); ``` - 例子: ```javascript let i = 0; do { i += 2; } while (i < 10); ``` 在这个例子中,只要 i 小于 10,循环就会重复执行。i 从 0 开始,每次循环递增 2。 #### 3.6.3 while 语句 - while 语句是一种先测试循环语句,即先检测退出条件,再执行循环体内的代码。因此,while 循环体内的代码有可能不会执行。下面是 while 循环的语法: ```javascript while(expression) statement ``` - 例子: ```javascript let i = 0; while (i < 10) { i += 2; } ``` 在这个例子中,变量 i 从 0 开始,每次循环递增 2。只要 i 小于 10,循环就会继续。 #### 3.6.4 for 语句 - for 语句也是先测试语句,只不过增加了进入循环之前的初始化代码,以及循环执行后要执行的表达式,语法如下: ```javascript for (initialization; expression; post-loop-expression) statement ``` - 下面是一个用例: ```javascript let count = 10; for (let i = 0; i < count; i++) { console.log(i); } ``` - 初始化、条件表达式和循环后表达式都不是必需的。因此,下面这种写法可以创建一个无穷循环: ```javascript for (;;) { // 无穷循环 doSomething(); } ``` #### 3.6.5 for-in 语句 - for-in 语句是一种严格的迭代语句,用于枚举对象中的非符号键属性,语法如下: ```javascript for (property in expression) statement ``` - 下面是一个例子: ```javascript for (const propName in window) { document.write(propName); } ``` >如果 for-in 循环要迭代的变量是 null 或 undefined,则不执行循环体。 #### 3.6.6 for-of 语句 - for-of 语句是一种严格的迭代语句,用于遍历可迭代对象的元素,语法如下: ```javascript for (property of expression) statement ``` - 下面是示例: ```javascript for (const el of [2,4,6,8]) { document.write(el); } ``` #### 3.6.7 标签语句 - 标签语句用于给语句加标签,语法如下: ```javascript label: statement ``` - 下面是一个例子: ```javascript start: for (let i = 0; i < count; i++) { console.log(i); } ``` 在这个例子中,start 是一个标签,可以在后面通过 break 或 continue 语句引用。标签语句的典型应用场景是嵌套循环。 #### 3.6.8 break 和 continue 语句 break 和 continue 语句为执行循环代码提供了更严格的控制手段。其中,break 语句用于立即退出循环,强制执行循环后的下一条语句。而 continue 语句也用于立即退出循环,但会再次从循环顶部开始执行。 #### 3.6.9 with 语句 - with 语句的用途是将代码作用域设置为特定的对象,其语法是: ```javascript with (expression) statement; ``` - 使用 with 语句的主要场景是针对一个对象反复操作,这时候将代码作用域设置为该对象能提供便利,如下面的例子所示: ```javascript let qs = location.search.substring(1); let hostName = location.hostname; let url = location.href; ``` - 上面代码中的每一行都用到了 location 对象。如果使用 with 语句,就可以少写一些代码: ```javascript with(location) { let qs = search.substring(1); let hostName = hostname; let url = href; } ``` >警告 由于 with 语句影响性能且难于调试其中的代码,通常不推荐在产品代码中使用 with语句。 #### 3.6.10 switch 语句 - 语法 ```javascript switch (expression) { case value1: statement break; case value2: statement break; case value3: statement break; case value4: statement break; default: statement } ``` - 例子 ```javascript let num = 25; switch (true) { case num < 0: console.log("Less than 0."); break; case num >= 0 && num <= 10: console.log("Between 0 and 10."); break; case num > 10 && num <= 20: console.log("Between 10 and 20."); break; default: console.log("More than 20."); } ``` >注意 switch 语句在比较每个条件的值时会使用全等操作符,因此不会强制转换数据类型(比如,字符串"10"不等于数值 10)。
顶部
收展
底部
[TOC]
目录
第1章 JavaScript简介
第2章 在 HTML中使用JavaScript
第3章 语言基础(1)语法变量
第3章 语言基础(2)数据类型
第3章 语言基础(3)操作符
第3章 语言基础(4)语句
第4章 变量、作用域与内存
第5章 基本引用类型
第6章 集合引用类型
第7章 迭代器与生成器
第8 章对象、类与面向对象编程
第9章 代理与反射
第10章 函数
第11章 期约与异步函数
第12章 BOM
第13章 客户端检测
第14章 DOM
第15章 DOM 扩展
第16章 DOM2 和 DOM3
第17章 事件
第18章 动画与 Canvas 图形
第19章 表单脚本
第20章 JavaScript API
第21章 错误处理与调试
第22章 处理 XML
第23章 JSON
第24章 网络请求与远程资源
第25章 客户端存储
第26章 模块
第27章 工作者线程
第28章 最佳实践
相关推荐
WebSocket