JavaScript中的分支结构
说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的。
程序=数据+算法
通常我们所说的算法都可以通过"顺序","分支","循环"三种结构来组合完成。

在ECMA中规定了一些语句(也称为流程控制语句,分支结构语句),从本质上来说,这些语句定义了ECMAScript中的主要语法,语句通常使用一个或者多个关键字来完成给定任务。
1.1 if 语句
if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
1 if (条件)
2 {
3 只有当条件为 true 时执行的代码
4 }
if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码

1 if (条件)
2 {
3 当条件为 true 时执行的代码
4 }
5 else
6 {
7 当条件不为 true 时执行的代码
8 }

if...else if....else 语句 - 使用该语句来选择多个代码块之一来执行

1 if (条件 1)
2 {
3 当条件 1 为 true 时执行的代码
4 }
5 else if (条件 2)
6 {
7 当条件 2 为 true 时执行的代码
8 }
9 else
10 {
11 当条件 1 和 条件 2 都不为 true 时执行的代码
12 }

1.2 switch 语句
使用 switch 语句来选择要执行的多个代码块之一。

1 switch(n)
2 {
3 case 1:
4 执行代码块 1
5 break;
6 case 2:
7 执行代码块 2
8 break;
9 default:
10 n 与 case 1 和 case 2 不同时执行的代码
11 }

工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。
default 关键词
请使用 default 关键词来规定匹配不存在时做的事情:

1 var day=new Date().getDay();
2 switch (day)
3 {
4 case 6:
5 x="Today it's Saturday";
6 break;
7 case 0:
8 x="Today it's Sunday";
9 break;
10 default:
11 x="Looking forward to the Weekend";
12 }

解释:今天不是周六或者周日才会执行的代码段。
1.3 if 与 switch 的比较

switch case vs else if
switch case 仅用于等于比较的条件
else if 可用任意条件 if(Boolean(条件)) else if()
自带隐式转换,将条件转为boolean
效率稍微低
switch case
不带隐式转换的等于比较,效率稍微高

JavaScript中的分支结构的更多相关文章
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- JS中的运算符和JS中的分支结构
JS中的运算符 1.算术运算(单目运算符) + .-.*. /. %取余.++自增 .--自减 +:两种作用,链接字符串/加法运算.当+两边全为数字时,进行加法运算:当+两边有任意一边为字符串时,起链 ...
- php总结2——php中的变量、数据类型及转换、运算符、流程控制中的分支结构
2.1 php中的变量: 定义变量:$变量名称=值: 变量名称:$开头 $之后的第一位必须是字母 $第二位之后可以是字母.数字或者是下划线.习惯上变量名称有实际含义,第二个单词后首字母大 ...
- JS基础-----JS中的分支结构及循环结构
[分支结构] 一.if-else结构 1.结构的写法:if(判断条件){ //条件为true时,执行if的{} }else{ //条件为false时,执行else的{} } 2.注意事项 ①else语 ...
- javascript中的分支判断与循环
分支判断与循环 分支结构 单一选择结构(if) 二路选择结构(if/else) 内联三元运算符 ?: 多路选择结构(switch) var condition = true; if (conditio ...
- JavaScript知识点:分支结构(if、switch)+算法例题
if-else分支 1.if条件应该是boolean类型的值或表达式 2.如果条件不是Boolean,会进行自动转换 以下几种情况会默认转换为 false: if(0).if(0.0) if(NaN) ...
- javascript中的队列结构
1.概念 队列和栈结构不同,栈是一种后进先出的结构,而队列是一种先进先出的结构.队列也是一种表结构,不同的是队列只能在队尾插入元素,在队首删除元素,可以将队列想象成一个在超时等待排队付钱的队伍,或者在 ...
- JS中的分支结构
if语句 语法: if (expression1) { } else if (expression2) { } else { } 执行机制: 先对expression1做判定,如果为真,执行对应的代码 ...
- javascript中的链表结构—从链表中删除元素
1.概念 上一个博文我们讲到链表,其中有一个方法remove()是暂时注释的,这个方法有点复杂,需要添加一个Previous()方法找到要删除的元素的前一个节点,这一个博文我们来分析一下这个remov ...
随机推荐
- Chapter 1: Design the application architecture
1.1 Plan the application layers 提到了repository pattern,SoC(Separation of Concern), 进而提及MVC,Action/Act ...
- Torch 7 load saved model failed, 加载保存的模型失败
Torch 7 load saved model failed, 加载保存的模型失败: 可以尝试下面的解决方案:
- linux一些常用配置
1.vi编辑退出不清屏 .bashrc最后加: 2.
- OSX unable to write 'random state'
openssl ca -gencrl -config ./config/openssl.cnf -out ./CA/crl/cacrl.pem -passin pass:'password' unab ...
- 002. Centos7安装mysql5.5.37
下载cmake-2.8.12.2.tar.gz, 下载地址: https://pan.baidu.com/s/1qYtpX7m 下载mysql-5.5.37.tar.gz, 下载地址: http:// ...
- shell脚本,防止sshd被暴力破解
1.tail -f /var/log/secure 你会发现有很多的登录 错误.这说明你的机器正在被暴力破解. 2.新建 一个 shell脚 本 保存退出. 3.加入定时crontab -e 我这里每 ...
- Object类的toString方法
Object类是所有Java类的祖先.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法.在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类 ...
- win 安装mysql
windows上安装sql最容易出现 1067错误,网上查了很多,大部分都是误导.现在将验证过的步骤总结如下: 1.下载mysql,我用的是mysql-5.6.24-win32 下载后解压,进入到bi ...
- Linux命令(22)find的使用
在linux下面工作,有些命令能够大大提高效率. 比如说find命令,他哥俩可以算是必会的linux命令,几乎每天都要用到他们. find命令 find命令的一般形式 find命令的常用选项及实例 f ...
- php面向对象学习笔记
PHP 面向对象技术(全面讲解) Ø 主要内容 v 1.面向对象的概念 v 2.什么是类,什么是对象,类和对象之间的关系 v 3.什么是面向对象编程呢? v 4.如何抽象出一个类? v 5.如何实例化 ...