javascript挑战编程技能-第七题:让代码做重复的事情
来源:互联网 发布:协和医院app挂号知乎 编辑:程序博客网 时间:2024/05/18 01:51
这节课我随便讲讲javascript中的循环语句。
循环最应该注意的是写出死循环的代码,如果你在调试程序的时候,发现浏览器卡住了,点击关闭按钮都很难关掉,
那就很有可能是执行了死循环的代码了。
如果篇幅不长的话,我们就再做一道题目。
对了,这个系列的正确阅读方式应该是先看题目,然后自己做,我的代码只是一个参考。
好吧,开始吧!
1、do-while
先看代码
do{
//执行一些代码(这里面被称为循环体)
}while(这里是一个条件)
do-while的特点就是先执行循环体的代码再判断条件是否成立。当条件成立时再执行循环。
也就是就算一开始条件是错误的,循环体也会至少执行一次。
如果你在这里面写了一个永真的条件,那就会变成死循环。
2、while
while(条件成立){
//循环体
}
与do-while差不多的问题,但是while是先判断条件再执行循环体。
当一开始条件为假是,一次都不会执行。
3、for(我觉得这个语句跟if一样算是js中最常用的语句了,基本上会这两个语句就能写代码了,额)
for有好几种变体。
var i = 0;
for(;i<10;i++){
//循环体
}
var i =0;
for(;i<10;){
//循环体
i++;
}//这种格式表现与while相同
这里看一下for的执行顺序
for(1初始化参数;2判断条件;4变量自增长){
3条件成立执行循环体
}
这里会有好几种产生死循环的情况。
①初始化参数没给
②判断条件永真
③变量没有自增长导致条件用真
不要觉得这个很简单就不注意,所有的循环语句都是需要特别注意的,浏览器有报错机制还不会出现什么问题。
如果代码是直接跑在内存里的,就有可能搞坏硬件哦。
4、for-in
for-in是一种迭代语句,用来枚举对象的属性。注意这里是属性,我们前面说过了,函数也是一种对象,也是对象的属性。
有些对象执行过一些方法之后,可能会把对象内部的函数暴露出来,使用for-in会枚举到函数,产生一些预期之外的错误。
特别是使用jquery的时候,是比较常见的错误。
提到迭代语句,顺便说一下,js中比较常用的map,这要求对象是一个数组。
如 [1,2,3].map(function(item){
return item+1
})
就会产生一个新的数组。这个在reactjs中还相对比较常用。
在angularjs中也有一个迭代语句angular.foreach
如
angular.foreach(obj,function(data,index,array){
//data 就是obj[index]
这也是一个迭代语句,在angularjs中也比较常常使用到。没有注意是否会枚举内部函数。感兴趣的朋友可以测试一下
})
基本上以上提到的语句就是js中常用的循环了。
提到循环就顺便提一下,break和continue语句。
break和continue语句是用于打断循环的。
遇到break会立即结束循环,或者称为跳出循环
遇到continue则跳出当前循环。
举两个例子
var sum = 0;
for(var i = 0 ; i<10; i++){
if(i>1){
sum+=i;
break;
}
}
console.log(sum);
上面的例子执行完sum=2;
var sum = 0;
for(var i = 0 ; i<10; i++){
if(i>1){
sum+=i;
continue;
}
}
console.log(sum);
上面的例子执行完sum=44;
(break还有一种和swith组合的用法,这里不提了)
第七节课就到这里结束了吧,
下一节课,我们写一个算法输出乘法口诀表.
谢谢你的阅读.
有什么问题可以直接联系我本人微信:yu_xiaohu
希望大家关注我的个人公众号,有更新会在上面同步发布哦.
我是小虎Oni,希望你开心.
- javascript挑战编程技能-第七题:让代码做重复的事情
- javascript挑战编程技能-第一题:将问题转变成代码
- javascript挑战编程技能-第九题:数据结构
- javascript挑战编程技能-第五题:函数作为javascript的一等公民
- javascript挑战编程技能-第二题:计算字符数
- javascript挑战编程技能-第三题:计算矩形房间面积
- javascript挑战编程技能-第八题:99乘法表
- 重复做,重复做,重复做,重要的事情说三遍
- javascript挑战编程技能-第四题:谈个if讲点逻辑
- 成功就是简单的事情重复做
- jQuery开发教程让你写更少的代码,做更多的事情
- 机器 · 人 | 可重复的事情,让机器去做
- 成功就是将简单的事情重复做
- 做事情让人放心
- 做一件让自己瞧得起自己的事情
- 做自己的事情,让别人去bb
- hive优化:让一个MR做更多的事情
- SEO让小白头疼一辈子做不好的事情
- poj-1835-宇航员
- UVA315-Network
- Android 自定义左滑删除列表
- 实业OR品牌
- java虚拟机中的内存分配原则
- javascript挑战编程技能-第七题:让代码做重复的事情
- Cygwin下不能运行make的解决方案
- ArrayList的遍历方式
- android 文件读写工具类
- LeetCode023 Merge k Sorted Lists
- js工厂模式,构建函数模式,原型模式
- Java父类引用指向子类对象总结
- find指令用法 以及粘滞位
- String与StringBuffer API