1.for循环

对于for循环想必大家已经很熟悉了,这个我就不介绍了。主要用法就是遍历数组、对象什么的

2.for in循环

for in循环主要是遍历对象

function myFunction() {
    var person = {fname:"John", lname:"Doe", age:25}; 
    
    for (key in person) { // key不是固定写法 可以随便定义 i、x都可以

        console.log(person[key]);

		console.log(key);
    }
};
输出:
John
Doe
25

输出:
fname
lname
age

// key就是键 person[key]就是键值
// 如果遍历数组,那么那么key值就是索引
var array=[1,2,3,4,5,6];
for(var key in array)
{
  console.log(key+' ');
}
输出:
0
1
2
3
4
5

注意一:for in循环不会按照属性的下标来排列输出。

var obj = {
"first":"1",
   "zoo":"2",
  "2":"3",
  "34":"4",
  "1":"5",
  "second":"6"
};
for (var i in obj) { console.log(i); };
输出:
1
2
34
first
zoo
second

执行时按chrome执行,先把当中的非负整数键提出来,排序好输出,然后将剩下的定义时的顺序输出。由于这个奇葩的设定,让avalon的ms-with对象排序不按预期输出了。只能强制用户不要以纯数字定义键名。

3.while循环

var i = 1;  
while(i<10)  
{  
    document.write(i);  
    i++;  
} 
输出:
123456789

while是当条件符合的时候会一直循环下去,直到条件不符合为止,而且可能直接条件不符合退出循环,一次都不执行

while循环

var i = 1;  
do  
{  
    document.write(i);  
    i++;  

}while(i<10); 
  1. do while循环在循环底部检测循环表达式,所以它的循环体会至少会被执行一次
  2. do/while语句的结尾要加个分号,这是因为它的结尾处是循环条件而不是简单的用花括号标识循环体的结束