zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    SCAU 9504 面试
    SCAU 9503 懒人选座位
    SCAU 8628 相亲
    SCAU 10691 ACM 光环
    SCAU 8626 原子量计数
    SCAU 10674 等差对
    HDU ACM 1048 The Hardest Problem Ever (水题)
    SCAU 9502 ARDF
    SCAU 10686 DeathGod不知道的事情
    SCAU 8629 热身游戏(高精度)
  • 原文地址:https://www.cnblogs.com/deng-cc/p/6597246.html
Copyright © 2011-2022 走看看