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循环的主要内容,如果未能解决你的问题,请参考以下文章

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

js数组遍历方法总结

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

AVKit – 视频片段仅循环 2 次