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 相关文章推荐
解读IE和firefox下JScript和HREF的执行顺序
Jan 12 Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
Sep 28 Javascript
原生javascript实现图片轮播效果代码
Sep 03 Javascript
表格单元格交错着色实现思路及代码
Apr 01 Javascript
js数组操作学习总结
Nov 04 Javascript
js文本框输入点回车触发确定兼容IE、FF等
Nov 19 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
Feb 08 Javascript
使用angularjs.foreach时return的问题解决
Sep 30 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
Jun 05 Javascript
layui之数据表格--与后台交互获取数据的方法
Sep 29 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
Nov 13 Javascript
JavaScript ES6 Class类实现原理详解
May 08 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 信号管理知识整理汇总
2017/02/19 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
JQuery记住用户名和密码的具体实现
2014/04/04 Javascript
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
JavaScript中使用Math.floor()方法对数字取整
2015/06/15 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
JavaScript中文件上传API详解
2016/04/01 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
vue小白入门教程
2018/04/02 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
Python连接数据库学习之DB-API详解
2017/02/07 Python
Python实现的递归神经网络简单示例
2017/08/11 Python
python实现石头剪刀布程序
2021/01/20 Python
Python函数式编程实例详解
2020/01/17 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
如何基于Python和Flask编写Prometheus监控
2020/11/25 Python
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
枚举与#define宏的区别
2014/04/30 面试题
几个Linux面试题笔试题
2016/08/01 面试题
个人评价范文分享
2014/01/11 职场文书
房屋租赁协议书范本
2014/04/10 职场文书
校友回访母校寄语
2015/02/26 职场文书
上课讲话检讨书范文
2015/05/07 职场文书
毕业证明模板
2015/06/19 职场文书
Python自动化爬取天眼查数据的实现
2021/06/15 Python
Nginx实现会话保持的两种方式
2022/03/18 Servers