浅谈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 相关文章推荐
jQuery EasyUI API 中文文档 - Tree树使用介绍
Nov 19 Javascript
javascript中数组的sort()方法的使用介绍
Dec 18 Javascript
减少访问DOM的次数提升javascript性能
Feb 24 Javascript
基于jQuery实现仿51job城市选择功能实例代码
Mar 02 Javascript
JavaScript原生对象常用方法总结(推荐)
May 13 Javascript
教你JS中的运算符乘方、开方及变量格式转换
Aug 09 Javascript
bootstrap datetimepicker2.3.11时间插件使用
Nov 19 Javascript
jQuery实现可移动选项的左右下拉列表示例
Dec 26 Javascript
JavaScript箭头函数_动力节点Java学院整理
Jun 28 Javascript
详解Node.js利用node-git-server快速搭建git服务器
Sep 27 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
详解如何用webpack4从零开始构建react开发环境
Jan 27 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
模仿OSO的论坛(三)
2006/10/09 PHP
PHP中的正规表达式(一)
2006/10/09 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
理解JSON:3分钟课程
2011/10/28 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
深究AngularJS之ui-router详解
2017/06/13 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
django实现用户登陆功能详解
2017/12/11 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
python中yield的用法详解
2021/01/13 Python
HTML5 weui使用笔记
2019/11/21 HTML / CSS
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
代理协议书
2014/04/22 职场文书
教师自我剖析材料
2014/09/29 职场文书
新闻通讯稿范文
2015/07/22 职场文书
Python实现日志实时监测的示例详解
2022/04/06 Python