浅谈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 相关文章推荐
认识延迟时间为0的setTimeout
May 16 Javascript
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
Apr 25 Javascript
基于jquery的返回顶部效果(兼容IE6)
Jan 17 Javascript
很棒的学习jQuery的12个网站推荐
Apr 28 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
Jul 27 Javascript
JavaScript脚本判断蜘蛛来源的方法
Sep 22 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
Jun 13 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
vue打包相关细节整理(小结)
Sep 28 Javascript
新版小程序登录授权的方法
Dec 12 Javascript
vue实现日历备忘录功能
Sep 24 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 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也能干大事 随机函数
2015/04/14 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
购物车前端开发(jQuery和bootstrap3)
2016/08/27 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
面包屑导航详解
2017/12/07 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
详解Python在七牛云平台的应用(一)
2017/12/05 Python
简单实现python收发邮件功能
2018/01/05 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
python3实现mysql导出excel的方法
2019/07/31 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
python将三维数组展开成二维数组的实现
2019/11/30 Python
Django重设Admin密码过程解析
2020/02/10 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
Django权限控制的使用
2021/01/07 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
李白故里导游词
2015/02/12 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书
MySQL数据库表约束讲解
2022/06/21 MySQL