浅谈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 事件队列调整方法
Sep 18 Javascript
各情景下元素宽高的获取实现代码
Sep 13 Javascript
js获取当前日期时间及其它操作汇总
Apr 17 Javascript
javascript实现的固定位置悬浮窗口实例
Apr 30 Javascript
Javascript对象Clone实例分析
Jun 09 Javascript
JavaScript面试题大全(推荐)
Sep 22 Javascript
微信小程序加载更多 点击查看更多
Nov 29 Javascript
原生js实现放大镜效果
Jan 11 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
Jan 15 Javascript
Angular2学习教程之TemplateRef和ViewContainerRef详解
May 25 Javascript
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
微信小程序上传图片到php服务器的方法
May 23 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/16 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
Python读写ini文件的方法
2015/05/28 Python
用TensorFlow实现多类支持向量机的示例代码
2018/04/28 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
Python 内存管理机制全面分析
2021/01/16 Python
python中操作文件的模块的方法总结
2021/02/04 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
canvas简易绘图的实现(海绵宝宝篇)
2018/07/04 HTML / CSS
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
感恩节红领巾广播稿
2014/02/11 职场文书
元旦获奖感言
2014/03/08 职场文书
工程造价专业大学生职业规划范文
2014/03/09 职场文书
经济贸易专业自荐信
2014/06/11 职场文书
趣味运动会开幕词
2015/01/28 职场文书
结婚幸福感言
2015/08/01 职场文书
银行求职信范文
2019/05/13 职场文书