js循环
Posted 风雨飘飘飘啊飘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js循环相关的知识,希望对你有一定的参考价值。
for……in循环语句
/*for……in可以把一个对象的所有属性依次循环出来*/ var o = { name:‘Jack‘, age:20, city:‘Beijing‘ } for ( var key in o) { alert(key);//‘name‘,‘age‘,‘city‘ }
/*要过滤掉对象继承的属性,用hasOwnProperty()来实现*/ var o = { name:‘Jack‘, age:20, city:‘Beijing‘ }; for(var key in o) { if(o.hasOwnProperty(key)) { alert(key);//‘name‘,‘age‘,city } }
/*由于Array也是对象,而它的每个元素的索引被视为对象的属性,因此,for……in循环可以直接循环出Array的索引*/ var a = [‘A‘ , ‘B‘ ,‘C‘]; for (var i in a) { alert(i);//‘0‘,‘1‘,‘2‘ alert(a[i]);//‘A‘,‘B‘,‘C‘ }
请注意,for……in对Array的循环得到的是string而不是number
for循环在已知循环的初始和结束条件时非常有用。而上述忽略了条件的for循环容易让人看不清循环的逻辑,此时用while循环更佳
while循环只有一个判断条件,条件满足,就不断循环,条件不满足时则退出循环。比如我们要计算100以内所有奇数之和,可以用while循环来实现:
var x = 0; var n = 99; while( n > 0 ){ x = x + n; n = n - 2; } alert(x);//2500
在循环内部变量n不断自减,直到变为-1时,不再满足whlie条件,循环退出。
do……while循环
它和while循环的唯一区别在于,不是每次循环开始的时候判断条件,而是在每次循环完成的时候判断条件
var n = 0 ; do { n = n + 1 ; } while ( n < 100); alert(n);//100
/*要过滤掉对象继承的属性,用hasOwnProperty()来实现*/
var o = {
name:‘Jack‘,
age:20,
city:‘Beijing‘
};
for(var key in o) {
if(o.hasOwnProperty(key)) {
alert(key);//‘name‘,‘age‘,city
}
}
以上是关于js循环的主要内容,如果未能解决你的问题,请参考以下文章