JavaScript程序中的流程控制语句用法总结


Posted in Javascript onMay 23, 2016

条件判断语句
1.if语句

if (condition) statement1 else statement2

其中的condition条件可以是任意表达式,而且对这个表达式的求值结果不一定是布尔值。ECMAScript会自动调用Boolean()转换函数将这个表达式的结果转换为一个布尔值。如果对condition求值的结果为true,则执行statement1,如果对condition求值结果为false,则执行statement2。这两个语句既可以是一行代码,也可以是一个代码块(推荐)。

if (condition1) statement1 else if(condition2) statement2 else statement3

2.switch语句

switch(expression) {
  case value: statement
    break;
  case value: statement
    break;
  case value: statement
    break;
  default: statement
}

switch语句中每一个case的含义是:"如果表达式等于这个值value,则执行后面的语句statement"。而break会导致代码执行跳出switch语句。如果省略break关键字,就会导致执行完当前case后,继续执行下一个case。最后的default关键字则用于在表达式不匹配前面任何一种情形时,执行机动代码(因此,也相当于一个else语句)。

例子1

var num = 25;
switch (true) {
  case num < 0:
    alert("Less than 0");
    break;
  case num >= 0 && num <= 10:
    alert("Between 0 and 10");
    break;
  case num > 10 && num <= 20:
    alert("Between 10 and 20");
    break;
  default:
    alert("More than 20");
}

注意:switch语句在比较值时使用的是全等操作符,因此不会发生类型转换。

循环语句
后测试循环语句。
在对表达式求值之前,循环体内的代码至少被执行一次。

1.do-while语句

do {
  statement
} while (expression);

例子2

var i = 0;
  do {
    i += 2;
  } while (i < 10);
  alert(i);//10

前测试循环语句
2.while语句

while(expression) statement

例子3

var i = 0;
  while(i < 10) {
    i += 2;
  }
  alert(i);//10

3.for语句
它具有在执行循环之前初始化变量和定义循环后要执行代码的能力。
例子4

for(var i = 0;i < 10;i++) {
  alert(i);
}

迭代语句
for-in语句
for-in 语句是一种精准的迭代语句,可以用来枚举对象的属性

for (var prop in window) {
    console.log(prop);
  }

ECMAScript对象的属性没有顺序。因此通过for-in循环输出的属性名是不可预测的,具体来讲,所有属性都会被返回一次,单反毁的先后次序可能会因浏览器而异。建议在使用之前,先检测确认该对象的值不是null或unedfined。

控制执行语句
break语句
立即退出循环
例子5

var num = 0;
  for(var i = 1;i < 10;i++) {
    if(i % 5 == 0) {
      break;
    }
    num++;
  }
  alert(num);//4

continue语句
退出当前正在执行的循环代码,然后开始继续循环。

var num = 0;
    for(var i = 1;i < 10;i++) {
      if(i % 5 == 0) {
        continue;
      }
      num++;
    }
    alert(num);//8

return语句
可指定返回值,也可不指定(此时返回undefined)。
1.return语句后停止并立即退出函数,return后面的语句也永远不会执行
2.return语句只能在函数体内出现,如果不是的话会自动报语法错误

Javascript 相关文章推荐
jQuery 在光标定位的地方插入文字的插件
May 10 Javascript
javascript学习笔记(七) js函数介绍
Jun 19 Javascript
jQuery操作cookie方法实例教程
Nov 25 Javascript
JavaScript中var关键字的使用详解
Aug 14 Javascript
jQuery数据类型小结(14个)
Jan 08 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
Jun 01 Javascript
jQuery中JSONP的两种实现方式详解
Sep 26 Javascript
jQuery 禁止表单用户名、密码自动填充功能
Oct 30 jQuery
ReactNative中使用Redux架构总结
Dec 15 Javascript
mpvue小程序仿qq左滑置顶删除组件
Aug 03 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
Nov 14 Javascript
Vuex的各个模块封装的实现
Jun 05 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
May 23 #Javascript
谈一谈bootstrap响应式布局
May 23 #Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
May 23 #Javascript
JavaScript的Vue.js库入门学习教程
May 23 #Javascript
详解JavaScript中|单竖杠运算符的使用方法
May 23 #Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
May 23 #Javascript
jQuery Mobile中的button按钮组件基础使用教程
May 23 #Javascript
You might like
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
2008/11/14 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
在JavaScript中遭遇级联表达式陷阱
2007/03/08 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
Vue-CLI 项目在pycharm中配置方法
2019/08/30 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
2020/12/24 Javascript
Python实现购物车功能的方法分析
2017/11/10 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
html5开发之viewport使用
2013/10/17 HTML / CSS
语文教育专业应届生求职信
2013/11/23 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
《金子》教学反思
2014/04/13 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
门卫岗位职责
2015/02/09 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript