浅谈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 浮动层菜单收藏
Jan 16 Javascript
javascript学习之闭包分析
Dec 02 Javascript
window resize和scroll事件的基本优化思路
Apr 29 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
May 05 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
Sep 17 Javascript
深入浅析AngularJS中的module(模块)
Jan 04 Javascript
JS实现遍历不规则多维数组的方法
Mar 21 Javascript
JavaScript实现的DOM绘制柱状图效果示例
Aug 08 Javascript
vue自定义正在加载动画的例子
Nov 14 Javascript
详细介绍解决vue和jsp结合的方法
Feb 06 Javascript
多个Vue项目部署到服务器的步骤记录
Oct 22 Javascript
关于vue属性使用和不使用冒号的区别说明
Oct 22 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 session常见问题集锦及解决办法总结
2007/03/18 PHP
PHP 进程锁定问题分析研究
2009/11/24 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
Codeigniter控制器controller继承问题实例分析
2016/01/19 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
PHP写的简单数字验证码实例
2017/05/23 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
MooTools 页面滚动浮动层智能定位实现代码
2011/08/23 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
2018/09/14 Javascript
Vue中computed和watch有哪些区别
2020/12/19 Vue.js
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
python中scikit-learn机器代码实例
2018/08/05 Python
对python生成业务报表的实例详解
2019/02/03 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
Python实现数字的格式化输出
2020/08/01 Python
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
白色公司:The White Company
2017/10/11 全球购物
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
管理专员自荐信
2014/01/26 职场文书
爱护花草树木的标语
2014/06/11 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL