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 相关文章推荐
getElementById在任意一款浏览器中都可以用吗的疑问回复
May 13 Javascript
用javascript实现在小方框中浏览大图的代码
Aug 14 Javascript
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
Nov 23 Javascript
javascript测试题练习代码
Oct 10 Javascript
选择复选框按钮置灰否则按钮可用
May 22 Javascript
JavaScript 学习笔记之操作符(续)
Jan 14 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
Sep 27 Javascript
对称加密与非对称加密优缺点详解
Feb 06 Javascript
jQuery实现弹窗居中效果类似alert()
Feb 27 Javascript
js实现数组和对象的深浅拷贝
Sep 30 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
Mar 10 Javascript
layui使用form表单实现post请求页面跳转的方法
Sep 14 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
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
JavaScript 原型继承
2011/12/26 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
浅谈javascript中的constructor
2016/06/08 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
简单实现jquery焦点图
2016/12/12 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
2019/11/14 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
Python实现简单文本字符串处理的方法
2018/01/22 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
浅析Python3 pip换源问题
2020/01/06 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
Django框架实现在线考试系统的示例代码
2020/11/30 Python
印度在线杂货店:bigbasket
2018/08/23 全球购物
超市营业员岗位职责
2013/12/20 职场文书
七一表彰活动方案
2014/01/18 职场文书
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
坚定理想信念心得体会
2014/03/11 职场文书
运动会横幅标语
2014/06/17 职场文书
应届生面试求职信
2014/07/02 职场文书
违反交通法规检讨书
2014/09/10 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
AJAX学习笔记
2021/05/18 Javascript