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的ajax功能实现web service的json转化
Aug 29 Javascript
IE6,IE7下js动态加载图片不显示错误
Jul 17 Javascript
fancybox modal的完美解决(右上的X)
Oct 30 Javascript
js实现瀑布流的一种简单方法实例分享
Nov 04 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
Dec 06 Javascript
BootStrapValidator校验方式
Dec 19 Javascript
jQuery鼠标悬停内容动画切换效果
Apr 27 jQuery
vue组件中的数据传递方法
May 14 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
May 31 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
May 18 Javascript
node.js的http.createServer过程深入解析
Jun 06 Javascript
微信小程序中为什么使用var that=this
Aug 27 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 define()函数及defined()函数使用详解
2013/06/09 PHP
destoon之一键登录设置
2014/06/21 PHP
PHP Opcache安装和配置方法介绍
2015/05/28 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
javascript类继承机制的原理分析
2009/09/12 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
jquery实现简单实用的轮播器
2017/05/23 jQuery
js数组常用最重要的方法
2018/02/04 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
深入了解NumPy 高级索引
2020/07/24 Python
Python实现扫码工具的示例代码
2020/10/09 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
采购主管的岗位职责
2013/12/17 职场文书
优秀求职信范文分享
2013/12/19 职场文书
家具厂厂长岗位职责
2014/01/01 职场文书
写给女朋友的道歉信
2014/01/12 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
信访稳定工作汇报
2014/10/27 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
高质量“欢迎词”
2019/04/03 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
Android Studio 计算器开发
2022/05/20 Java/Android