循环、

1、循环

for循环的3个条件都是可以省略的,如果没有退出循环的判断条件,就必须使用break语句退出循环,否则就是死循环

1 var x = 0;
2 for (;;) { // 将无限循环下去
3     if (x > 100) {
4         break; // 通过if判断来退出循环
5     }
6     x ++;
7 }

for...in

for循环的一个变体是for ... in循环,它可以把一个对象的所有属性依次循环出来

1 var o = {
2     name: 'Jack',
3     age: 20,
4     city: 'Beijing'
5 };
6 for (var key in o) {
7     console.log(key); // 'name', 'age', 'city'
8 }

要过滤掉对象继承的属性,用hasOwnProperty()来实现

 1 var o = {
 2     name: 'Jack',
 3     age: 20,
 4     city: 'Beijing'
 5 };
 6 for (var key in o) {
 7     if (o.hasOwnProperty(key)) {
 8         console.log(key); // 'name', 'age', 'city'
 9     }
10 }

由于Array也是对象,而它的每个元素的索引被视为对象的属性,因此,for ... in循环可以直接循环出Array的索引

请注意,for ... inArray的循环得到的是String而不是Number

2、while和do...while

do { ... } while()循环要小心,循环体会至少执行1次,而forwhile循环则可能一次都不执行。

3、

原文地址:https://www.cnblogs.com/fanyizhan/p/9989739.html