浅谈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 相关文章推荐
破解Session cookie的方法
Jul 28 Javascript
jQuery的链式调用浅析
Dec 03 Javascript
jquery模拟SELECT下拉框取值效果
Oct 23 Javascript
Javascript中引用类型传递的知识点小结
Mar 06 Javascript
微信小程序微信支付接入开发实例详解
Apr 12 Javascript
浅谈原型对象的常用开发模式
Jul 22 Javascript
详解angularjs的数组传参方式的简单实现
Jul 28 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
Jun 21 Javascript
基于JavaScript 实现拖放功能
Sep 12 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 Javascript
一篇文章带你从零快速上手Rollup
Sep 07 Javascript
Vue 事件的$event参数=事件的值案例
Jan 29 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
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
javascript Ext JS 状态默认存储时间
2009/02/15 Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
JsRender实用入门教程
2014/10/31 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
jQuery简单绑定单个事件的方法示例
2017/06/10 jQuery
js原生日历的实例(推荐)
2017/10/31 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
[00:18]天涯墨客三技能展示
2018/08/25 DOTA
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
白色公司:The White Company
2017/10/11 全球购物
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
中间件分为哪几类
2016/09/18 面试题
行政专员岗位职责
2014/01/02 职场文书
《数星星的孩子》教学反思
2014/04/11 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
学生逃课检讨书
2015/02/17 职场文书
停水通知
2015/04/16 职场文书
参加招聘会后的感想
2015/08/10 职场文书
2016教师国培研修感言
2015/12/08 职场文书