浅谈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 相关文章推荐
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
Dec 02 Javascript
jQuery学习笔记之控制页面实现代码
Feb 27 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
Jul 31 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
Jun 23 Javascript
js实现仿百度汽车频道选择汽车图片展示实例
May 06 Javascript
JavaScript实现基于十进制的四舍五入实例
Jul 17 Javascript
javascript如何操作HTML下拉列表标签
Aug 20 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
Oct 16 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
Oct 10 Javascript
javascript添加前置0(补零)的几种方法
Jan 05 Javascript
解析jquery easyui tree异步加载子节点问题
Mar 08 Javascript
深入探究node之Transform
Jul 20 Javascript
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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
用javascript编写的第一人称射击游戏
2007/02/25 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
2016/03/11 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
基于javascript中的typeof和类型判断(详解)
2017/10/27 Javascript
vue在使用ECharts时的异步更新和数据加载详解
2017/11/22 Javascript
详解NodeJs开发微信公众号
2018/05/25 NodeJs
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
Python urls.py的三种配置写法实例详解
2017/04/28 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
python 实现表情识别
2020/11/21 Python
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
留学推荐信怎么写
2014/01/25 职场文书
工作睡觉检讨书
2014/02/25 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
入党自传范文2015
2015/06/26 职场文书