JavaScript - 流程控制和错误处理

本文介绍了JavaScript中的流程控制,包括if...else语句和switch语句,并详细讲解了异常处理,如throw语句、try...catch结构及Error对象的使用。此外,还提及了ES2015引入的Promise对象,用于处理异步操作。
摘要由CSDN通过智能技术生成

语句块

while (x < 10) {
  x++;
}
/*
{x++;}
就是一个语句块
*/

注意:ECMAScript2015之前的JavaScript,没有块范围的变量;在ECMAScript2015之后,由 let const 定义的变量才是块范围。

var x = 1;
{
  var x = 2;
}
console.log(x); // outputs 2
/*
花括号中定义的 var x
同花括号上方定义的 var x
处于相同的块范围中,可以尝试修改 var 为 let 试一试
*/
let x = 1;
{
  let x = 2;
}
console.log(x);
/*
会出现异常
因为,名称为 x 的变量,在上方已经定义了,
不能重复定义,使用相同名称的变量。
*/

条件语句

if ... else 语句

if (condition) {
  statement_1; // 条件判断为真,执行
} else {
  statement_2; // 条件判断为假,执行
}

if (condition_1) {
  statement_1;
} else if (condition_2) {
  statement_2;
} else if (condition_n) {
  statement_n;
} else {
  statement_last;
}

if (condition) {
  statement_1_runs_if_condition_is_true;
  statement_2_runs_if_condition_is_true;
} else {
  statement_3_runs_if_condition_is_false;
  statement_4_runs_if_condition_is_false;
}

评估为假值的值:

  • false
  • undefined
  • null
  • 0
  • 空白字符串 ("")
  • 除此以为的值,在条件判断中,会被评估为真
var b = new Boolean(false);
if (b) // 条件结果为:真
if (b == true) // 条件结果为:假

switch 语句

switch (expression) {
  case label_1:
    statements_1
    [break;] // 可选
/*
若该case标签,被匹配了,但其中没有break,
那么就会顺序执行下一个case标签的判断,而不会跳出switch语句;
若有break,该处case标签执行完成之后,会跳出switch语句。
*/
  case label_2:
    statements_2
    [break;]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值