Author | 王平安 |
---|---|
pingan8787@qq.com | |
博 客 | www.pingan8787.com |
微 信 | pingan8787 |
每日文章推荐 | https://github.com/pingan8787/Leo_Reading/issues |
本章节复习的是JS中的控制流语句,让我们能实现更多的交互功能。
注意一点:在ES6之前,JS是没有块作用域的,如果在语句块外部声明的变量,如果在块内部声明一个相同名称的变量,那么程序将取后声明的这个变量的值:
1 | var a = 1; |
但是ES6开始,用let
声明的变量是块作用域的:
1 | let a = 1; |
1.条件判断语句
用于根据指定条件返回结果,常见的是if...else
和switch
:
if…else语句
若条件为真,则执行if
后面的语句,若条件为假,则执行else
后面的语句:
1 | if(condition){ |
False等效值:
在JS中下面的值常常被计算为false
- false
- undefined
- null
- 0
- NaN
- 空字符串(””)
注意:
不要使用原始布尔值true
和false
与 Boolean对象的真和假混淆:
1 | let a = new Boolean(false); // Boolean {true} |
2.switch语句
通过匹配表达式的值到每个case
标签,若匹配成功则执行相关语句:
1 | switch ( 'leo' ){ |
break
为可选,目的用于保证在正确匹配后,能跳出程序的switch
语句,并继续执行其他代码,若没有break
则程序会继续执行下一个case
语句。
3.异常处理语句
当throw
语句抛出的异常,我们可以使用try...catch
捕获并处理,这里需要先介绍两个概念:
throw语句:
用于抛出异常,后面可以是任何表达式:
1 | throw "error !"; |
try…catch语句:
用于捕获异常,try
后面是程序正常时候执行的程序,catch
后面是当前面有错误抛出的时候执行,并且捕获错误信息作为参数,并且在catch
块执行完成,参数不可再用。
1 | function f(){ |
通常在try...catch
后还有一个finally
语句块,用于不论前面是否有报错,都会执行finally
语句:
1 | try{ |
try...catch
常常也用在做网络请求的情况下:
1 | function getData (){ |
参考资料
本部分内容到这结束
Author | 王平安 |
---|---|
pingan8787@qq.com | |
博 客 | www.pingan8787.com |
微 信 | pingan8787 |
每日文章推荐 | https://github.com/pingan8787/Leo_Reading/issues |
JS小册 | js.pingan8787.com |