循环

96 阅读2分钟

###1.while循环

var num = 1;//1、声明循环变量          
while (num<=10){//2、判断循环条件,会自动转为真假
    console.log(num);//3、执行循环体操作;打印1到10
    num++;}//4、更新循环变量;

判断循环条件,会自动(隐式)转为真假 ①Boolean:true为真,false为假;   ②String:空字符串为假,所有非空字符串为真;   ③Number:0为假,一切非0数字为真;   ④null/Undefined/NaN:全为假;   ⑤Object:全为真。 ###2.do-while循环 while循环:先判断后执行; do-while循环:先执行再判断,即使初始条件不成立,do-while循环至少执行一次;

var num=1;
    do {
        console.log(num);//(1到9)
        num++
    }while (num<10)
写法上,只是把while (num<10)条件部分放后面,前面替换成do
如果把条件设置为num<0,也会打印出1

###3.for循环 for (var i=0;i<10;i++){ console.log(i) //0到9 } for循环 1、for有三个表达式:①声明循环变量;②判断循环条件;③更新循环变量;三个表达式之间,用;分割,for循环三个表达式都可以省略,但是两个“;”缺一不可。 2、for循环的执行特点:先判断再执行,与while相同 3、for循环三个表达式都可以有多部分组成,第二部分多个判断条件用&& ||连接,第一三部分用逗号分割; ###4.for in循环 主要用于遍历对象,格式:for(index in o){。。。}

var o={x:1,y:2,z:3}
for(index in o) {console.log (index)}//x,y,z
index表示o对象的每一个键值对的键
要取值用用o[index]来取到每一个值,//1   2    3
hasOwnProperty判断一个属性是不是对象自身上的属性
console.log(o.hasOwnProperty("x"));   //true


如果是数组里有对象,
var a=[{x:9},{y:10},{z:20}];
    for(index in a) {
        console.log (index)   //0  1   2
    }
index表示数组的每一个下标,0  1  2
要取值用用a[index]来取到每一个对象

###5.for-of循环 for...in循环,只能获得对象的键名,不能直接获取键值 for...of循环可以读取键值

var a=[4,5,6];
    for (index in a){  console.log(index) }//0   1   2
    for(val of a) {   console.log (val)  }//4  5  6