计算机最起初的功能就是用来计算的,特别是那些重复的工作要用到循环。JavaScript 循环经常用到,有以下几种方式。
一、for循环
语法:
for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句1是初始条件;语句2是结束条件,也就是判断条件;语句3是递增条件。
例如:
var sum=0; for(var i=0; i<1000; i++){ sum=sum+i; } console.log(sum);//499500 使用JavaScript 循环一下子算出来了。
除了用于计算之外,循环最常用的地方是利用索引来遍历数组。
例如:
var arr = ['apple','banana','cat','dog','egg','foot','god']; var i; for(i=0; i<arr.length; i++){ console.log(arr[i]); } 
简单的几行代码就可以把数组里面的元素遍历一次。
也许你会问,既然for()里面的是循环条件,如果我什么条件也不添加,会怎么样呢?
如果for( )没添加任何条件,那应该是这样书写的for(;;)因为条件是空,可是还得保持3个条件的语法格式。
例如:
for(;;){ if(i>1000){ break; } sum=sum+i; console.log(sum) } 然后就会发现,测试的浏览器卡住了,因为for(;;)会进入死循环,也就是会无线循环。浏览器都要崩溃了。这时候要在循环体里面添加break来退出循环。
二、for…in…循环
for…in…用户遍历对象的属性的循环语句。可以把对象的所有属性罗列出来。
例如:
var project = { name:'小明', age:18, school:'附中', father:'大明', mother:'阿芳', 'best-friend':'小红', address:'北京路', phone:'13314756284' } for(var i in project){ console.log(i); } 
因为我们知道,对象会继承父类的属性,所以当我们想要遍历出对象属性的时候,过滤掉那些继承的属性,只得出改对象的属性,我们应该用hasOwnProperty( )方法。
例如:
for(var j in project){ if(project.hasOwnProperty(j)){ console.log(j) } } 添加过滤添加就可以。
上面是遍历出对象的属性,如果把for…in…用在数组中,得到的是数组的索引。
例如:
var arr1 = ['apple','banana','cat','dog','egg','foot','god']; for(var i in arr1){ console.log(i) } 
要注意的是,这种方式的出来的索引不是number类型的,而是字符串类型的,因为索引也是数组的属性。
我们也可以用这种索引的方式访问数组。
例如:
var arr1 = ['apple','banana','cat','dog','egg','foot','god']; for(var i in arr1){ console.log(arr1[i]) } 三、while循环
For循环有三个条件,二、而while循环只有一个条件,只要满足就继续循环,一旦不满足就结束循环,比较好理解。
例如:
var i =0; var sum=0; while(i<1000){ sum=sum+i; i+=1; } console.log(sum)//499500 当i=999时,进行while判断,小于1000,继续循环,循环体中i +1 = 1000,回头继续进行while判断,发现1000不小于1000,不满足条件,所以退出循环。
四、do…while循环
do…while是先执行混循环体再进行判断条件是否满足,所以无论如何,循环体都会至少执行一次。
var i = 0; var sum = 0; do{ sum=sum+i; i+=1; }while(i<1000) console.log(sum)//499500
srcmini
评论前必须登录!
注册