本文是 重温基础 系列文章的第二篇,须要让本身静下心来,学习,养成好习惯。前端
系列目录:git
本章节复习的是JS中的控制流语句,让咱们能实现更多的交互功能。github
注意一点:在ES6以前,JS是没有块做用域的,若是在语句块外部声明的变量,若是在块内部声明一个相同名称的变量,那么程序将取后声明的这个变量的值:微信
var a = 1;
{
var a = 2;
}
a; // 2
复制代码
可是ES6开始,用let
声明的变量是块做用域的:网络
let a = 1;
{
let a = 2;
}
a; // 1
复制代码
用于根据指定条件返回结果,常见的是if...else
和switch
:ide
若条件为真,则执行if
后面的语句,若条件为假,则执行else
后面的语句:post
if(condition){
// do something
}else{
// else 为可选
// do something
}
复制代码
False等效值:
在JS中下面的值经常被计算为false
学习
注意:
不要使用原始布尔值true
和false
与 Boolean对象的真和假混淆:fetch
let a = new Boolean(false); // Boolean {true}
if (a); // 永真
if (a == true); // 永假
复制代码
经过匹配表达式的值到每一个case
标签,若匹配成功则执行相关语句:ui
switch ( 'leo' ){
case 'pingan':
// do something
break; // 可选
case 'leo':
// do something
break;
default: // 都不匹配 则执行默认
// do something
break;
}
复制代码
break
为可选,目的用于保证在正确匹配后,能跳出程序的switch
语句,并继续执行其余代码,若没有break
则程序会继续执行下一个case
语句。
当throw
语句抛出的异常,咱们可使用try...catch
捕获并处理,这里须要先介绍两个概念:
用于抛出异常,后面能够是任何表达式:
throw "error !";
throw 404;
throw {msg: 'err'};
复制代码
用于捕获异常,try
后面是程序正常时候执行的程序,catch
后面是当前面有错误抛出的时候执行,而且捕获错误信息做为参数,而且在catch
块执行完成,参数不可再用。
function f(){
throw 'test error!'
}
try{
f();
console.log('success');
}catch (err){ // err 为前面返回的错误信息
console.log(err);
console.log('failed');
}
// test error!
// failed
复制代码
一般在try...catch
后还有一个finally
语句块,用于不论前面是否有报错,都会执行finally
语句:
try{
// do something
}catch(err){
// do something
}finally{
// do something
}
复制代码
try...catch
经常也用在作网络请求的状况下:
function getData (){
try{
let a = fetch(url);
}catch(err){
console.log(err);
}
}
复制代码
本部份内容到这结束
Author | 王平安 |
---|---|
pingan8787@qq.com | |
博 客 | www.pingan8787.com |
微 信 | pingan8787 |
每日文章推荐 | github.com/pingan8787/… |
JS小册 | js.pingan8787.com |
欢迎关注个人微信公众号【前端自习课】