01快速入门-03-条件判断和循环

1、if else 条件判断

和Java类似,看个例子说明基本语法:
var age = 3; 
if (age >= 18) {
    alert('adult');
} else if (age >= 6) {
    alert('teenager');
} else {
    alert('kid');
}
当然,上面的代码也等同于:
var age = 3;
if (age >= 18) {
    alert('adult');
} else {
    if (age >= 6) {
        alert('teenager');
    } else {
        alert('kid');
    }
}
语句块只包含一条语句,那么花括号可以省略,可是强烈建议千万不要这么做,很容易因为不小心就犯毛病。

如果 if 的条件判断语句结果不是布尔类型的,那么 null、undefined、0、NaN 和 空字符串 “” 视为 false,其余视为true,所以如果表达式是一个计算结果,只要不是0,负数也可以,那么结果就等同于 true 。

2、循环

2.1 for 循环

例子说明,其实和Java就一样一样的:
var x = 0;
var i;
for (i=1; i<=10000; i++) {
    x = x + i;
}
x; // 50005000
遍历数组:
var arr = ['Apple', 'Google', 'Microsoft'];
var i, x;
for (i=0; i<arr.length; i++) {
    x = arr[i];
    alert(x);
}

2.2 for in 遍历

这个是一个类似于Java中的 for each 增强for循环,不过Java中多用于集合的遍历(如List),而JS中的 for in 可以把一个对象的所有属性依次循环出来(包括继承的属性),有了属性自然也就可以获得对应的值了:
var o = {
    name: 'Jack',
    age: 20,
    city: 'Beijing'
};
for (var key in o) {
    alert(key); // 'name', 'age', 'city'
}

要过滤掉对象继承的属性,用hasOwnProperty()来实现
for (var key in o) {
    if (o.hasOwnProperty(key)) {
        alert(key); // 'name', 'age', 'city'
    }
}

Array也是对象,每个元素的索引视为对象的属性,所以可以方便得遍历出所有索引(得到的索引是String而不是Number):
var a = ['A', 'B', 'C'];
for (var i in a) {
    alert(i); // '0', '1', '2'
    alert(a[i]); // 'A', 'B', 'C'
}

2.3 while 和 do while 循环

直接上示例代码:
var x = 0;
var n = 99;
while (n > 0) {
    x = x + n;
    n = n - 2;
}
x; // 2500
var n = 0;
do {
    n = n + 1;
} while (n < 100);
n; // 100

原文地址:https://www.cnblogs.com/deng-cc/p/6597246.html