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 相关文章推荐
CLASS_CONFUSION JS混淆 全源码
Dec 12 Javascript
javascript 命名空间以提高代码重用性
Nov 13 Javascript
jQuery 1.3 和 Validation 验证插件1.5.1
Jul 09 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
Dec 25 Javascript
利用毫秒减值计算时长的js代码
Sep 22 Javascript
使用jquery给指定的table动态添加一行、删除一行
Oct 13 Javascript
jQuery时间验证和转换为标准格式的时间格式
Mar 06 Javascript
整理关于Bootstrap排版的慕课笔记
Mar 29 Javascript
JavaScript之map reduce_动力节点Java学院整理
Jun 29 Javascript
浅谈Vue.use的使用
Aug 29 Javascript
在vue-cli中引入lodash.js并使用详解
Nov 13 Javascript
小程序采集录音并上传到后台
Nov 22 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 setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
2017/12/21 Javascript
微信小程序实现下拉菜单切换效果
2020/03/30 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
Python多线程爬虫简单示例
2016/03/04 Python
python实现视频分帧效果
2019/05/31 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
基于Python实现粒子滤波效果
2020/12/01 Python
英国女士家居服网站:hush
2017/08/09 全球购物
Unix/Linux开发面试题
2016/08/16 面试题
小学美术教学反思
2014/02/01 职场文书
明星员工获奖感言
2014/08/14 职场文书
个人授权委托书
2014/09/15 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
Golang 语言控制并发 Goroutine的方法
2021/06/30 Golang