浅谈JavaScript中的分支结构


Posted in Javascript onJuly 01, 2016

说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的。

程序=数据+算法

通常我们所说的算法都可以通过"顺序","分支","循环"三种结构来组合完成。

浅谈JavaScript中的分支结构

在ECMA中规定了一些语句(也称为流程控制语句,分支结构语句),从本质上来说,这些语句定义了ECMAScript中的主要语法,语句通常使用一个或者多个关键字来完成给定任务。

1.1 if 语句

if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码

if (条件)
  {
  只有当条件为 true 时执行的代码
  }

if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码

if (条件)
 {
 当条件为 true 时执行的代码
 }
else
 {
 当条件不为 true 时执行的代码
 }

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

if (条件 1)
{
当条件 1 为 true 时执行的代码
}
else if (条件 2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}

1.2 switch 语句

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

switch(n)
{
case 1:
 执行代码块 1
 break;
case 2:
 执行代码块 2
 break;
default:
 n 与 case 1 和 case 2 不同时执行的代码
}

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

default 关键词

请使用 default 关键词来规定匹配不存在时做的事情:

var day=new Date().getDay();
switch (day)
{
case 6:
 x="Today it's Saturday";
 break;
case 0:
 x="Today it's Sunday";
 break;
default:
 x="Looking forward to the Weekend";
}

解释:今天不是周六或者周日才会执行的代码段。

1.3 if 与 switch 的比较

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

以上这篇浅谈JavaScript中的分支结构就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
prototype 中文参数乱码解决方案
Nov 09 Javascript
JavaScript浏览器选项卡效果
Aug 25 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
Dec 14 Javascript
js实现DOM走马灯特效的方法
Jan 21 Javascript
详解JavaScript按概率随机生成事件
Aug 02 Javascript
JS SetInterval 代码实现页面轮询
Aug 11 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
Aug 31 Javascript
electron + vue项目实现打印小票功能及实现代码
Nov 25 Javascript
vue实现新闻展示页的步骤详解
Apr 11 Javascript
Angular封装搜索框组件操作示例
Apr 25 Javascript
基于JS实现前端压缩上传图片的实例代码
May 14 Javascript
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
Jan 05 Vue.js
Bootstrap下拉菜单效果实例代码分享
Jun 30 #Javascript
Bootstrap图片轮播组件使用实例解析
Jun 30 #Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
Jun 30 #Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
Jun 30 #Javascript
jQuery获取table行数并输出单元格内容的实现方法
Jun 30 #Javascript
JS实现添加,替换,删除节点元素的方法
Jun 30 #Javascript
JS传值出现中文参数乱码的解决方法
Jun 30 #Javascript
You might like
PHP中mysqli_get_server_version()的实例用法
2020/02/03 PHP
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
pymssql ntext字段调用问题解决方法
2008/12/17 Python
python生成指定尺寸缩略图的示例
2014/05/07 Python
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
python实现同一局域网下传输图片
2020/03/20 Python
哪些是python中web开发框架
2020/06/17 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
Python经典五人分鱼实例讲解
2021/01/04 Python
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
意大利在线药房:Saninforma
2021/02/11 全球购物
技术总监管理岗位职责
2014/03/09 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
员工手册编写范本
2015/05/14 职场文书
《法国号》教学反思
2016/02/22 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
MySQL之select、distinct、limit的使用
2021/11/11 MySQL