浅谈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 相关文章推荐
Input 特殊事件onpopertychange和oninput
Jun 17 Javascript
dojo学习第一天 Tab选项卡 实现
Aug 28 Javascript
JQuery的$命名冲突详细解析
Dec 28 Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
Jan 20 Javascript
JavaScript动态检验密码强度的实现方法
Nov 09 Javascript
Angular2入门--架构总览
Mar 29 Javascript
删除table表格行的实例讲解
Sep 21 Javascript
vue组件发布到npm简单步骤
Nov 30 Javascript
jQuery+koa2实现简单的Ajax请求的示例
Mar 06 jQuery
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
Mar 07 Javascript
基于elementUI竖向表格、和并列的案例
Oct 26 Javascript
TypeScript 使用 Tuple Union 声明函数重载
Apr 07 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的类树(支持无限分类)
2006/10/09 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
Yii2实现上下联动下拉框功能的方法
2016/08/10 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
Angular4 中内置指令的基本用法
2017/07/31 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
jQuery实现简易QQ聊天框
2020/02/10 jQuery
Javascript异步编程async实现过程详解
2020/04/02 Javascript
详解Python中的strftime()方法的使用
2015/05/22 Python
Python中super关键字用法实例分析
2015/05/28 Python
详解Python发送邮件实例
2016/01/10 Python
Python 2与Python 3版本和编码的对比
2017/02/14 Python
Python使用getpass库读取密码的示例
2017/10/10 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
水果花束:Fruit Bouquets
2017/12/20 全球购物
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
怎样创建、运行java程序
2014/08/01 面试题
初始化了一个没有run()方法的线程类,是否会出错?
2014/03/27 面试题
小学生红领巾广播稿
2014/01/21 职场文书
学生喝酒检讨书
2014/02/06 职场文书
我的教育故事演讲稿
2014/05/04 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL