参考

阮一峰 – 基本语法

Switch

switch 经常用来取代 else if, 因为可读性比价高, 而且通常性能也比较好.

standard 长这样

const orderStatus = 'Pending';
switch (orderStatus) {
case 'Pending':
console.log('Pending');
break;
case 'Shipping':
console.log('Shipping');
break;
case 'Completed':
console.log('Completed');
break;
default:
console.log('else');
break;
}

它的运行逻辑是这样的:

1. swtich 的值 匹配 case 的值

2. 对不上就去试下一个 case, 对上了就运行那个 case 的代码

3. 如果有 break 就中断结束, 如果没有 break 就继续运行下一个 case 的代码 (这时就不管下一个 case 是否匹配了哦, 就这样一个一个 case 执行, 直到 break 的出现)

最关键就是第 3 个. 通常每一个 case 都会有 break, 这才符合 else if 的逻辑 (这里可以看出 swtich 其实不是设计来取代 else if 的, 它有自己的用处, 只是我们经常只拿来替代 else if)

另外, 如果代码多的话可以用花括弧包起来, break 在里面或外面都是可以的

上面是 string 的匹配. 如果遇到复杂的情况还可以这样写:

While & Do...While

let i = 0;
while (i < 10) {
i++;
console.log('i', i);
}

当 while expression 是 true 是, 代码就会被执行.

不过我通常喜欢这样写

while (true) {
// logic here
break;
}

外面只管开启循环, 里面决定什么时候停.

do...while

let i = 1;
do {
console.log('in');
} while (i > 2);

它和 while 的区别是 do 最少会执行一次.

Label

for (let i = 0; i < 10; i++) {
for (let j = 0; j < 10; j++) {
break;
}
}

当遇到 2 nested loop 的时候, break 只能打断当前的 loop, 如果想直接打断最外面的 loop 怎么弄呢?

这时就可以用 label 啦.

firstLoop: for (let i = 0; i < 10; i++) {
for (let j = 0; j < 10; j++) {
break firstLoop;
}
}

JavaScript – 基本语法的更多相关文章

  1. JavaScript基本语法(一)

    前段时间学习了HTML和CSS,也实战了一些结构较简单的项目.在还没运用到JS的知识时,做出来的效果总觉得少了些什么.虽然总体布局与一些基本的特效,也能用HTML+CSS就能完成.但如今开始进入Jav ...

  2. javascript运算符语法概述

    × 目录 [1]个数 [2]优先级 [3]结合性[4]类型[5]规则表 前面的话 javascript中的运算符大多由标点符号表示,少数由关键字表示,它们的语法言简意赅,它们的数量却着实不少.运算符始 ...

  3. javascript基础语法——表达式

    × 目录 [1]原始表达式 [2]复杂表达式 前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascr ...

  4. javascript基础语法——词法结构

    × 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...

  5. JavaScript的语法规则

    JavaScript的语法规则 JavaScript区分大小写 JavaScript脚本程序须嵌入在HTML文件中 JavaScript脚本程序中不能包含HTML标记代码 每行写一条脚本语句 语句末尾 ...

  6. JavaScript的语法要点 1 - Lexically Scoped Language

    作为从一开始接触C.C++.C#的程序员而言,JavaScript的语法对我来说有些古怪,通过最近一年的接触,对它有了一定的了解,于是想把它的一些语法要点记录下来. 1. Block Scope vs ...

  7. javascript的语法作用域你真的懂了吗

    原文:javascript的语法作用域你真的懂了吗 有段时间没有更新了,思绪一下子有点转不过来.正应了一句古话“一天不读书,无人看得出:一周不读书,开始会爆粗:一月不读书,智商输给猪.”.再加上周五晚 ...

  8. 【repost】JavaScript 基本语法

    JavaScript 基本语法,JavaScript 引用类型, JavaScript 面向对象程序设计.函数表达式和异步编程 三篇笔记是对<JavaScript 高级程序设计>和 < ...

  9. JavaScript 中语法规范及调试

    JavaScript 中语法规范及调试 版权声明:未经博主授权,内容严禁分享转载 JavaScript 开发环境 JavaScript 脚本可以使用任意一款纯文本编辑器进行编程开发. 常见的前端开发编 ...

  10. Unit04: JavaScript 概述 、 JavaScript 基础语法 、 流程控制

    Unit04: JavaScript 概述 . JavaScript 基础语法 . 流程控制 my.js function f3() { alert("唐胜伟"); } demo1 ...

随机推荐

  1. tp5生命周期

    https://www.kancloud.cn/manual/thinkphp5/118011 1.入口文件 用户发起的请求都会经过应用的入口文件,通常是 public/index.php文件.当然, ...

  2. oeasy教您玩转vim - 24 - 自定颜色

    自定颜色 回忆上节课内容 这次我们研究了配色方案 找到了 colors 的位置 下载并应用了颜色方案 制作了自己的配色方案 下面我想修改配色方案的颜色 是否能成功??? 首先得有自己的颜色方案 #找到 ...

  3. oeasy教您玩转vim - 84 - # 命令command

    ​ 命令 command 回忆 关于 函数function 可以调用别的函数 :call append(0,"oeasy o2z o3z") 还可以执行表达式 :call exec ...

  4. Day 7 - 哈希与 KMP

    字符串哈希 定义 我们定义一个把字符串映射到整数的函数 \(f\),这个 \(f\) 称为是 \(\text{Hash}\) 函数. 我们希望这个函数 \(f\) 可以方便地帮我们判断两个字符串是否相 ...

  5. Django Template层之自定义tag

    Django Template层之自定义tag by:授客 QQ:1033553122 测试环境 Win7 Django 1.11 实践 步骤1 应用根目录下,新建templatetags包目录(注意 ...

  6. TCP协议测试

    TCP协议测试 首先需要测试TCP协议的连接 tcping命令是针对tcp监控的,也可以看到ping值,即使源地址禁ping也可以通过tcping来监控服务器网络状态,除了简单的ping之外,tcpi ...

  7. Jenkins 配置即代码(Configuration as Code)详解

    1.概述 在<Centos7下安装配置最新版本Jenkins(2.452.3)>这篇博文中讲解了如何安装Jenkins,虽然在安装Jenkins时安装了一些必备的推荐插件,但在企业环境中使 ...

  8. vue里使用px2rem

    安装 yarn add postcss-px2rem 配置 在vue.config.js中添加以下配置 const px2rem = require('postcss-px2rem') module. ...

  9. 【RabbitMQ】06 Spring整合RabbitMQ

    首先生产者和消费者需要的Maven依赖是一样的 <?xml version="1.0" encoding="UTF-8"?> <project ...

  10. 【ECharts】01 快速上手

    简单介绍: ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求. ECharts 遵循 Apache-2.0 开源协议,免费商用. ECharts 兼容 ...