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 相关文章推荐
Prototype 工具函数 学习
Jul 23 Javascript
jQuery 打造动态下滑菜单实现说明
Apr 15 Javascript
纯js实现遮罩层效果原理分析
May 27 Javascript
uploadify多文件上传参数设置技巧
Nov 16 Javascript
深入理解vue.js双向绑定的实现原理
Dec 05 Javascript
react.js 翻页插件实例代码
Jan 19 Javascript
node 命令方式启动修改端口的方法
May 12 Javascript
基于javascript的拖拽类封装详解
Apr 19 Javascript
Node绑定全局TraceID的实现方法
Nov 14 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
Sep 02 Javascript
原生JS实现拖拽功能
Dec 16 Javascript
JavaScript的一些小技巧分享
Jan 06 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
Smarty安装配置方法
2008/04/10 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
JavaScript 调试器简介
2009/02/21 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
JavaScript实现4位随机验证码的生成
2021/01/28 Javascript
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
Python金融数据可视化汇总
2017/11/17 Python
深入浅析python with语句简介
2018/04/11 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
Tensorflow累加的实现案例
2020/02/05 Python
浅谈Python 函数式编程
2020/06/20 Python
购买200个世界上最好的内衣品牌:Bare Necessities
2017/02/11 全球购物
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
材料成型专业个人求职信范文
2013/09/25 职场文书
汽车制造与装配专业自荐信范文
2014/01/02 职场文书
四年级语文教学反思
2014/02/05 职场文书
户外婚礼策划方案
2014/02/08 职场文书
迟到早退检讨书
2014/02/10 职场文书
2015年节能降耗工作总结
2015/05/22 职场文书
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技