码迷,mamicode.com
首页 > Web开发 > 详细

js循环

时间:2017-09-19 00:26:28      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:code   number   pre   奇数   logs   alert   循环   div   while循环   

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循环

标签:code   number   pre   奇数   logs   alert   循环   div   while循环   

原文地址:http://www.cnblogs.com/yuanxinru321/p/7545706.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!