浅谈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 相关文章推荐
tagName的使用,留一笔
Jun 26 Javascript
JQuery中getJSON的使用方法
Dec 13 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
Oct 29 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
May 12 Javascript
使用jquery提交form表单并自定义action的实现代码
May 25 Javascript
mac上node.js环境的安装测试
Jul 03 Javascript
javaScript日期工具类DateUtils详解
Dec 08 Javascript
对vue下点击事件传参和不传参的区别详解
Sep 15 Javascript
React+Antd+Redux实现待办事件的方法
Mar 14 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
小程序api实现promise封装过程解析
Nov 21 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
Dec 16 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的引用计数机制
2013/06/14 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
javascript比较文档位置
2008/04/08 Javascript
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
jQuery对val和atrr("value")赋值的区别介绍
2014/09/26 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
基于vue实现分页效果
2017/11/06 Javascript
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
2018/08/12 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
深入解析Python中的线程同步方法
2016/06/14 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
Python中的正则表达式与JSON数据交换格式
2019/07/03 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
自考毕业自我鉴定范文
2013/10/27 职场文书
饲料采购员岗位职责
2013/12/19 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
优秀应届本科生求职信
2014/07/19 职场文书
教师批评与自我批评发言稿
2014/10/15 职场文书
村党建工作汇报材料
2014/11/02 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android