前端学习笔记_JS循环

while

只要指定条件为true,循环就可以一直执行。

a = 5;
while(  true ){
    if( a >= 10 ){
        break;  //break 语句用于跳出循环
    }
     console.log( a );
     a = a + 1;
 }

如果条件一直为true,会导致死循环使浏览器崩溃。

do while

do…whlie是另外一种形式的while循环,条件判断在执行之后,所以它至少会执行一遍,即使条件为false。

var i = 5;

do{
    console.log( i );
}while( i > 10 )

do后面跟的是重复执行的代码,while后面跟的是终止循环的条件。

for

循环代码块一定的次数

for(var a = 5;  a < 10; a = a + 1){
       console.log( a );
}

for循环里依然可以使用if...else语句:

for(var a = 1;  a < 10; a = a + 1){
    if(a == 3 || a == 6){
        console.log(a + '!!!');
    }else{
        console.log(a);
    }
}

for循环break:

for(var a = 1;  a < 10; a = a + 1){
    if(a == 3){
         break;  //跳出循环
    }
     console.log(a);
 }

for循环continue:

for(var a = 1;  a < 10; a = a + 1){
    if(a == 3){
       continue;  //跳出本次循环执行下一次循环
    }
     console.log(a);
 }

for循环里面还可以再嵌套for循环:

var count = 0;
for(var i = 0; i < 2; i++){
     console.log('i------------:', i );
     for(var j = 0; j < 3; j++){
         console.log('j:', j);
         count++;
     }
 }
 console.log( count );

for ... in

遍历对象

var obj = {"name":"cjj","age":22}

for( var key in obj ){
    console.log( obj[key] );
}

在原型上扩展方法也会被for...in出来

Object.prototype.test = "web";

var obj = {"name":"cjj","age":22}

for(var key in obj){
    console.log( obj[key] );
}

如果不想遍历原型上的方法,如何解决:

Object.prototype.test = "web";

var obj = {"name":"cjj","age":22}

for(var key in obj){
    if( obj.hasOwnProperty(key) ){
        console.log( obj[key] );
    }
}

一个对象是否可以使用for...in来枚举,可以通过propertyIsEnumerable来判断,返回Boolean。

object.propertyIsEnumerable(proName)

你可能感兴趣的:(前端学习笔记_JS循环)