javascript挑战编程技能-第七题:让代码做重复的事情

简介: javascript挑战编程技能-第七题:让代码做重复的事情

这节课我随便讲讲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组合的用法,这里不提了)


第七节课就到这里结束了吧,

下一节课,我们写一个算法输出乘法口诀表.
谢谢你的阅读.

目录
相关文章
|
18天前
|
JSON JavaScript 前端开发
JavaScript原生代码处理JSON的一些高频次方法合集
JavaScript原生代码处理JSON的一些高频次方法合集
|
1月前
|
存储 JavaScript 前端开发
非常实用的JavaScript一行代码(整理总结)
非常实用的JavaScript一行代码(整理总结)
30 0
|
1月前
|
前端开发 JavaScript 开发者
探索JavaScript ES6的八种常见使用技巧:开启现代编程之旅
探索JavaScript ES6的八种常见使用技巧:开启现代编程之旅
|
1月前
|
JavaScript 前端开发 测试技术
如何编写JavaScript模块化代码
如何编写JavaScript模块化代码
12 0
|
1月前
|
JSON 前端开发 JavaScript
16个重要的JavaScript代码
16个重要的JavaScript代码
32 1
|
1月前
|
JavaScript
当当网新用户注册界面——JS代码
当当网新用户注册界面——JS代码
7 0
|
1月前
|
JavaScript
当当网首页——JS代码
当当网首页——JS代码
11 1
|
1月前
|
JavaScript Java
什么?java中居然可以执行js代码了?真是不知者不怪
什么?java中居然可以执行js代码了?真是不知者不怪
13 1
|
1月前
|
JavaScript 前端开发 Python
生成X-Bogus的js代码,通过python调用生成
该文本是一个关于如何解析和执行JavaScript代码的步骤说明。主要内容包括: 1. 找到JavaScript文件的位置。 2. 下载代码并进行格式化。 3. 运行代码时会出现缺少变量错误,需要添加模拟环境的代码。 4. 指出主要的入口函数是`_0x5a8f25`,将其赋值给`window`。 5. 提供了整个JavaScript代码的长串内容。 6. 提供了一个Python脚本,用于调用这个JavaScript函数并处理返回的数据。 总结:这段文本描述了如何处理和运行一个JavaScript文件,以及使用Python来与这个脚本交互的示例。
|
1月前
|
存储 JavaScript 编译器
这款国产中文编程火了!通过文言文编译生成Python、JS、Ruby代码!
这款国产中文编程火了!通过文言文编译生成Python、JS、Ruby代码!