###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