浅谈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 相关文章推荐
动态表格Table类的实现
Aug 26 Javascript
js解析与序列化json数据(三)json的解析探讨
Feb 01 Javascript
js中的preventDefault与stopPropagation详解
Jan 29 Javascript
一个php+js实时显示时间问题
Oct 12 Javascript
jQuery使用正则表达式限制文本框只能输入数字
Jun 18 Javascript
获取jqGrid中选择的行的数据
Nov 30 Javascript
Bootstrap轮播图的使用和理解4
Dec 14 Javascript
使用jsonp实现跨域获取数据实例讲解
Dec 25 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
May 26 Javascript
layui+jquery支持IE8的表格分页方法
Sep 28 jQuery
vue自定义指令限制输入框输入值的步骤与完整代码
Aug 30 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
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
jQuery Tools tooltip使用说明
2012/07/14 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
javascript格式化指定日期对象的方法
2015/04/21 Javascript
浅谈JavaScript对象的创建方式
2016/06/13 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
三步实现ionic3点击退出app程序
2019/09/17 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
JavaScript位置参数实现原理及过程解析
2020/09/14 Javascript
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
详解Django中的权限和组以及消息
2015/07/23 Python
python编码最佳实践之总结
2016/02/14 Python
Python装饰器用法实例总结
2018/02/07 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
Python占用的内存优化教程
2019/07/28 Python
django实现后台显示媒体文件
2020/04/07 Python
使用Python实现将多表分批次从数据库导出到Excel
2020/05/15 Python
python 利用百度API识别图片文字(多线程版)
2020/12/14 Python
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
数控专业大学生的自我鉴定
2013/11/13 职场文书
思想专业自荐信范文
2013/12/25 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
大学生党员个人剖析材料
2014/10/08 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
Python集合的基础操作
2021/11/01 Python
python实现双链表
2022/05/25 Python
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技