【Day 20】JavaScript 流程控制与例外处理

资料结构及型别

JavaScript 定义了七种资料型别:

1.Boolean布林 : false and true
(1)被转型为 false 的值有 :

  • 没传值
  • "" 空字串
  • 0, -0, NaN
  • null
  • undefined
  • false
  • DOM 物件 document.all被传入後,也会将其初始化为false。

(2)被转为 true :

  • 其他的值,包含所有物件或"false"字串,都会使其初始化为true。

2.null : 表示空值的特殊关键字,因为JavaScript是大小有别,这里指的是null,不是Null、NULL或者任何其它变体。
3.undefined 未定义。
4.Number 数字。
5.String 字串。
6.Symbol 创建一个独一无二的值。(但符号不支援“自动转换”为字串)。
7.Object物件。

区块陈述式

{
  陈述式 1;
  陈述式 2;
  .
  .
  .
  陈述式 n;
}

区块陈述式经常与流程控制陈述式(例如:if、for、while)搭配使用。

while (x < 10) {
  x++;
}
在这里,{ x++; } 是区块陈述式。

条件陈述式

条件陈述式是一些在指定条件爲真下将被执行的指令。 JavaScript 支援两种条件陈述式: if...else 和 switch
if...else 陈述式
if 陈述式将在「逻辑判断爲真」下执行接下来的一个陈述式。选择性的 else 陈述式将会在「逻辑判断爲否」时被执行。 if 陈述式的用法看起来如下:

if (指定条件) {
  陈述式 1;
} else {
  陈述式 2;
}

也可以藉由 else if 来使用复合的陈述式来测试多种不同的条件,如下:

if (指定条件1) {
  陈述式 1;
} else if (指定条件 2) {
  陈述式 2;
} else if (指定条件 n) {
  陈述式 n;
} else {
  最後陈述式;
}

switch 陈述式

程序首先寻找一个标签与运算式的值匹配的 case 子句,并执行与其相关的陈述式。 如果省略 break,程序将继续在 switch 陈述式中的下一个陈述式执行。

switch (运算式) {
  case 标签 1:
    陈述式 1
    [break;]
  case 标签 2:
    陈述式 2
    [break;]
    ...
  default:
    陈述式
    [break;]
}

例外处理陈述式

throw 陈述式

使用 throw 陈述式抛出例外。当抛出例外时,要指定包含在要抛出物件中的值:

throw expression;

try...catch 陈述式

try...catch 陈述式标记了一组要尝试的陈述式,并在抛出例外时指定一个或多个响应。 如果例外被抛出,try...catch 陈述式捕获它。

try {
  throw "myException"; // 产生例外
}
catch (e) {
  // 用於处理例外的陈述式
  logMyErrors(e); // 将例外物件传给 error handler
}

finally 区块

finally 区块中包含在 try 和 catch 区块执行之後但在 try...catch 陈述式之後的陈述式之前 执行的陈述式。 无论是否抛出例外,finally 区块都会执行。 如果抛出例外,则即使没有 catch 区块处理例外,finally 区块中的陈述式也会执行。

openMyFile();
try {
  writeMyFile(theData); // 可能产生例外
} catch(e) {
  handleError(e); // 处理可能发生的例外
} finally {
  closeMyFile(); // 总是在 try 结束後关闭档案
}

<<:  [Day19] Tableau 轻松学 - Data Extract

>>:  Day 08:初步了解 Angular 应用程序及元件

[2021铁人赛 Day21] General Skills 18

引言 今天是我们 General Skills 最後一题,光是基础技能我们就花了 21 天呢......

javascript HTML DOM3

延续上一篇的程序码,我们搭配css选择器,来做一个开合的动作。 ...

企划实现(30)

止损 止损顾名思义就是停止损失,今天在做企划的同时,世界并不会停下来等你发展,所以如果在做企划的同时...

【JavaScript】变数

【前言】 本系列为个人前端学习之路的学习笔记,在过往的学习过程中累积了很多笔记,如今想藉着IT邦帮忙...

我们的基因体时代-AI, Data和生物资讯 Day19-分析和处理基因变异的档案格式VCF的工具

上一篇我们的基因体时代-AI, Data和生物资讯 Day18-基因变异的档案格式VCF上一篇介绍当...