浅谈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 面向对象的技术创建高级 Web 应用程序
Feb 25 Javascript
window.open不被拦截的实现代码
Aug 22 Javascript
自己写的Javascript计算时间差函数
Oct 28 Javascript
javascript中typeof操作符和constucor属性检测
Feb 26 Javascript
jQuery事件绑定on()与弹窗实现代码
Apr 28 Javascript
AngularJS 整理一些优化的小技巧
Aug 18 Javascript
bootstrap table小案例
Oct 21 Javascript
JS+jQuery实现注册信息的验证功能
Sep 26 jQuery
jquery实现左右轮播图效果
Sep 28 jQuery
Router解决跨模块下的页面跳转示例
Jan 11 Javascript
微信小程序实现抖音播放效果的实例代码
Apr 11 Javascript
JavaScript实现网页留言板功能
Nov 23 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
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
laravel-admin 在列表页添加自定义按钮的例子
2019/09/30 PHP
JS类的封装及实现代码
2009/12/02 Javascript
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
js 绑定带参数的事件以及手动触发事件
2010/04/27 Javascript
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
javascript截取字符串小结
2015/04/28 Javascript
js事件监听器用法实例详解
2015/06/01 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
使用express来代理服务的方法
2019/06/21 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
python读写二进制文件的方法
2015/05/09 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
Python向MySQL批量插数据的实例讲解
2018/03/31 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
使用useBean标志初始化BEAN时如何接受初始化参数
2012/02/11 面试题
出纳员岗位责任制
2014/02/11 职场文书
招聘专员岗位职责
2014/03/07 职场文书
母亲节感恩活动记录
2014/03/16 职场文书
政府门卫岗位职责
2014/04/29 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
预备党员转正考核材料
2014/06/03 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
医生个人自我剖析材料
2014/10/08 职场文书
2015年客服工作总结范文
2015/04/02 职场文书