浅谈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 相关文章推荐
js实现的常用的左侧导航效果
Oct 17 Javascript
js中事件的处理与浏览器对象示例介绍
Nov 29 Javascript
javascript中的undefined和not defined区别示例介绍
Feb 26 Javascript
jquery实现侧边弹出的垂直导航
Dec 09 Javascript
SWFObject基本用法实例分析
Jul 20 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
Aug 15 Javascript
JS模拟简易滚动条效果代码(附demo源码)
Apr 05 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
Nov 09 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
Feb 22 Javascript
vue template中slot-scope/scope的使用方法
Sep 06 Javascript
重学JS之显示强制类型转换详解
Jun 30 Javascript
Vue如何循环提取对象数组中的值
Nov 18 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
Adnroid 微信内置浏览器清除缓存
2016/07/11 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
jquery 问答知识整理
2010/02/11 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
Javascript模拟加速运动与减速运动代码分享
2014/12/11 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
10分钟掌握XML、JSON及其解析
2020/12/06 Javascript
Vue组件开发初探
2017/02/14 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
使用异步controller与jQuery实现卷帘式分页
2019/06/18 jQuery
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
Python实现把xml或xsl转换为html格式
2015/04/08 Python
python爬虫使用cookie登录详解
2017/12/27 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
行政专员的岗位职责
2014/03/10 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
学习十八大演讲稿
2014/09/15 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
2015年话务员工作总结
2015/04/29 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
收入证明申请书
2015/06/12 职场文书
高中升旗仪式主持词
2015/07/03 职场文书
环保建议书作文300字
2015/09/14 职场文书