


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
几乎所有程序语言都有break和continue语句,可见它们的重要性,即使不重要相信也是够实用的吧。但是在真正的开发过程中,又有多少人会忽视它们的用法呢?相信初学者或者不关心程序优化的人应该对其了解的比较肤浅。本文力图通过实例加使用场合详解来引导菜鸟重新认识break和continue语句。注意:为了方便演示,本文例子选择我喜爱的JavaScript语言,其它语言,比如C#、Java、Python等是一样的用法。一、先看MSDN关于break和continue语句的帮助说明1、break 语句用于终止最近的封闭循环或它所在的 switch 语句。控制传递给终止语句后面的语句(如果有的话)。2、continue 语句将控制权传递给它所在的封闭迭代语句的下一次迭代。二、我对break和continue语句的解释通过对MSDN帮助的理解,我们可以得出以下结论:1、break 语句在循环(for、for in,)和switch等具有迭代选择特征的语句中使用,而且是终止最近的封闭代码块(即多重循环时,它只终止自己所在的循环),整体代码接在break语句后继续执行(如果break语句不是最后一行代码的话)。2、continue语句与break语句使用场合类似,continue语句是不可以在单独的switch语句中使用,但可以在一个循环内的switch语句中使用。含有continue的迭代语句(或者叫循环语句),在遇到continue语句后,代码先不按照常规的从上往下的代码执行顺序执行,而是马上回到循环入口转入下一次循环。3、break和continue语句在循环内的switch语句中使用时,是有些区别的。break是跳出本switch,switch后面的代码继续执行,而continue是不执行switch后的代码,可以理解为跳出循环,接着进入下一次循环。分别测试下面代码使用break和continue两种情况的输出,如果使用continue,你会发现程序找到Microsoft后,document.write代码不执行了,输出结果就比使用break少了一行。var company=new Array(Adobe,Apple,Google,Intel,Microsoft,Oracle,IBM,SUN);for (var i in company) switch (companyi) case Microsoft: continue; /break; document.write(Me was run +i);三、break和continue语句的使用场合1、break可以优化程序,不让程序多做些无用功。在下面的例子中,我们要从一个庞大的公司列表中找出Microsoft公司,一旦找到,就不会接着往下再找,比如下面语句用不用break是一样的效果,但用了break语句,程序运行的步骤就少了,除非要找的公司在最后面。我这里之所以强调“庞大”的列表,在于突显break优势,太少的话,也许你会认为自己用if语句就行。var company=new Array(Adobe,Apple,Google,Intel,Microsoft,Oracle,IBM,SUN);/在数组company中从左往右(或者说从前往后)寻找Microsoft,找到后通过break语句跳出循环。for (var i in company) if (companyi=Microsoft) document.write(Find Microsoft); break; 通过脚本调试工具(比如Firefox浏览器的Firebug插件)单步调试可以发现,使用了break语句,循环了五次便退出了循环。而没有使用break语句的话,循环要遍历完整个数组。2、continue语句可以让你直接在遍历并查找符合条件的元素过程中直接处理这些符合条件的元素,而不用先找到符合条件的元素集,然后再在外面另外写方法重新遍历这些新找到的元素并做处理。试着对比以下两种实现方法,你应该明白continue的好处。不使用continue语句:var company=new Array(Adobe,Apple,Google,Intel,Microsoft,Oracle,IBM,SUN);var findCompany=;for (var i in company) if (companyi=Microsoft|companyi=IBM) findCompany.push(companyi); for (var i in findCompany) delete findCompanyi;使用continue语句:/演示continue语句用法,以下循环把非Microsoft和IBM的公司成员找出来删除掉。var company=new Array(Adobe,Apple,Google,Intel,Micro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一种新型下颌骨骨折快速外固定系统的研发及应用可行性研究
- 过去进行时的理解与运用:小学英语语法基础训练
- 我的好朋友小学话题作文(12篇)
- 集装箱拖车货运合同
- 倾斜方腔内混合纳米流体强化传热问题的数值模拟研究
- 基于多源信息融合的粮堆特性研究及粮情评估模型构建
- 大自然的启示写景感悟文章(9篇)
- 2024年湖北恩施学院辅导员考试真题
- 主题式教学模式在高中英语阅读教学中的应用研究
- 2024年北海市“三支一扶”招募考试真题
- 求职攻略与职场进阶指南学习通超星期末考试答案章节答案2024年
- 航空货运物流管理操作手册
- 2023年江苏省五年制专转本英语统考真题(试卷+答案)
- 2024年全国预防接种技能竞赛【决赛】考试题库-上(单选题)
- 广西壮族自治区玉林市博白县2023-2024学年三年级下学期7月期末道德与法治+科学试题
- 湖南省长沙市雨花区2023-2024学年八年级下学期期末考试历史试题(解析版)
- DL∕T 5863-2023 水电工程地下建筑物安全监测技术规范
- 2023-2024学年山东省济南市高二下学期7月期末学习质量检测数学试题(含答案)
- 《温病学》复习考试题库(带答案)
- 雇佣协议书范本
- 四川省自贡市2023-2024学年八年级下学期期末历史试题 (无答案)
评论
0/150
提交评论