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 相关文章推荐
图片轮换效果实现代码(点击按钮停止执行)
Apr 12 Javascript
jQuery创建DOM元素实例解析
Jan 19 Javascript
JavaScript代码判断点击第几个按钮
Dec 13 Javascript
AngularJS 所有版本下载地址
Sep 14 Javascript
使用JS读取XML文件的方法
Nov 25 Javascript
JavaScript闭包的简单应用
Sep 01 Javascript
angularjs实现的购物金额计算工具示例
May 08 Javascript
vue修改对象的属性值后页面不重新渲染的实例
Aug 09 Javascript
vue+element UI实现树形表格带复选框的示例代码
Apr 16 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
Jul 15 Javascript
vue 实现锚点功能操作
Aug 10 Javascript
vue组件vue-esign实现电子签名
Apr 21 Vue.js
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 CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
在openSUSE42.1下编译安装PHP7 的方法
2015/12/24 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
传智播客学习之java 反射
2009/11/22 Javascript
13个绚丽的Jquery 界面设计网站推荐
2010/09/28 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
[17:00]DOTA2 HEROS教学视频教你分分钟做大人-帕克
2014/06/10 DOTA
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
浅析Python中else语句块的使用技巧
2016/06/16 Python
基于python实现在excel中读取与生成随机数写入excel中
2018/01/04 Python
python爬虫基本知识
2018/03/05 Python
python多线程并发实例及其优化
2019/06/27 Python
Django models filter筛选条件详解
2020/03/16 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
HTML5标签使用方法详解
2015/11/27 HTML / CSS
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
高中毕业生生活的自我评价
2013/12/08 职场文书
初中班级口号
2014/06/09 职场文书
干部个人对照检查材料
2014/08/25 职场文书
2014离婚协议书范文
2014/09/10 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
酒会开场白大全
2015/06/01 职场文书
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers