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