🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
| JScript  | [语言参考](#) | |-----|-----| # switch 语句 当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句。 `**switch (***expression***) {**`    `**case** *label* **:**`        *`statementlist`*    `**case** *label* **:**`        *`statementlist`*    `...    **default** **:**`        *`statementlist`* **}**` ` #### 参数 expression 要求值的表达式。 label 根据 *expression* 来匹配的标识符。如果 *label* === *expression*,则立即从冒号后的 *statementlist* 处开始执行,直到遇到一个可选的 **break** 语句,或到达 **switch **语句的最后。 statementlist 要被执行的一个或多个语句。 #### 说明 使用 **default** 子句来提供一个语句,该语句只在没有任何一个标签值与 *expression* 相匹配时才被执行。它可以出现在 **switch** 代码块内的任何地方。 可以指定零或多个 *label* 块。如果没有 *label* 和 *expression* 的值匹配,并且没有提供 **default** 情况,则不执行任何语句。 通过 switch 语句执行流程如下: - 求 *expression* 的值并依次序查看 *label*,直到找到一个匹配。 - 如果 *label* 的值等于 *expression* 的值,则执行它相应的 *statementlist*。 继续执行,直到遇到一个 **break** 语句,或者 **switch** 语句结束。这意味着如果没有使用一个 **break** 语句,则多个 *label* 块被执行。 - 如果没有 *label* 等于 *expression* 的值,则跳转到 **default** 情况。 如果没有 **default** 情况,则跳转到最后一步。 - 继续执行紧接 **switch** 代码块末尾的语句。 #### 示例 下面示例测试一个对象的类型: ~~~ function MyObject() { ...} switch (object.constructor){ ~~~     ~~~ case Date: ~~~     ~~~ ... ~~~     ~~~ case Number: ~~~     ~~~ ... ~~~     ~~~ case String: ~~~     ~~~ ... ~~~     ~~~ case MyObject: ~~~     ~~~ ... ~~~     ~~~ default: ~~~     ~~~ ... ~~~ ~~~ } ~~~ #### 要求 [版本 3](#) #### 请参阅 [break 语句](#) | [if...else 语句](#) [© 2000 Microsoft Corporation 版权所有。保留所有权利。使用规定。](#)