zoukankan      html  css  js  c++  java
  • 【JavaScript】循环结构

    条件判断

    语法:if(条件){..为真执行语句..} else{..非真执行语句..}

    var age = 20;
    if (age >= 18) { // 如果age >= 18为true,则执行if语句块
        alert('adult');
    } else { // 否则执行else语句块
        alert('teenager');
    }
    

    如果执行语句只有一句,其实是可以省略{}的,但是这种写法容易造成,在后期想要添加语句的时候,添加却忘记使用{},造成语义歧义。

    var age = 20;
    if (age >= 18)
        alert('adult');
    else
        console.log('age < 18'); // 添加一行日志
        alert('teenager'); // <- 这行语句已经不在else的控制范围了
    

    建议永远写上{}

    多选择判断语法:if(){....} else if(){....} else{....}

    var age = 13;
            if (age>=6&&age<18){
                alert('teenager');
            }
            else if (age>18){
                alert('adult');
            }
            else{
                alert('kid');
            }
    

    js中的布尔值判定:
    javascript中把null、undefined、0、NaN和空字符串''视为false,其他均为true

    循环

    for循环结构

    语法:

    var x =0;
    var i;
    for (i = 1; i<=1000; i++){   //初始条件;判断条件;递增条件
        x = x+i;
    }
    

    for循环最常用的地方是利用索引来遍历数组:

    var arr = ['Apple', 'Google', 'Microsoft'];
    var i, x;
    for (i=0; i<arr.length; i++) {
        x = arr[i];
        console.log(x);
    }
    

    以上代码会依次打印arr中的三个元素。

    for循环的三个条件其实都是可以省略的for(;;){},但是要在执行语句中添加一个break否则就是死循环。其中break可以添加在条件判断语句中。

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

    for...in

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

    var o = {
        name: 'Jack',
        age: 20,
        city: 'Beijing'
    };
    for (var key in o) {
        alert(key); // 'name', 'age', 'city'
    }
    

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

    var o = {
        name: 'Jack',
        age: 20,
        city: 'Beijing'
    };
    for (var key in o) {
        if (o.hasOwnProperty(key)) {
            alert(key); // 'name', 'age', 'city'
        }
    }
    

    注意,for.. inArray的循环得到的是str类型,而不是number。

    while循环结构

    语法:

    while(条件){
        执行语句;
    }
    

    do...while结构

    最后一种循环是do { ... } while()循环,它和while循环的唯一区别在于,不是在每次循环开始的时候判断条件,而是在每次循环完成的时候判断条件

    var n = 0;
    do {
        n = n + 1;
    }
    while (n < 100);
    n; // 100
    
    

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

    switch语句

    语法:

    switch(n)  //一个变量,用于选择case代码块
    {
    case 1:
      执行代码块 1
      break;   //用于阻止代码向向下一代码块运行
    case 2:
      执行代码块 2
      break;
    default:
      n 与 case 1 和 case 2 不同时执行的代码
    }
    

    case后面只能跟数字吗?

        var inp1= 'this';
        var inp2='then';
        var inp3 = 'that';
        var inp4 = 'the';
        var x = inp1;
        switch (x){
            case inp1:
                console.log(x);
                break;
            case inp2:
                console.log(x);
                break;
            case inp3:
                console.log(x);
                break;
            case inp4:
                console.log(x);
                break;
            default:
                console.log('no!');
                break;
        }
    

    由上面的例子可以看出,case后面跟的是一个变量。通过变量的名称选择case执行的代码块

  • 相关阅读:
    Android官方命令深入分析之bmgr
    Android官方命令深入分析之AVD Manager
    Android 官方命令深入分析之android
    token的设置与获取
    SpringBoot使用Redis共享用户session信息
    thymeleaf资源加载问题(从Controller跳转)
    ajax传递数组,后台更新
    BootStrap表单验证用户名重复
    hadoop3.x.x错误解决
    Hadoop安装
  • 原文地址:https://www.cnblogs.com/scott-lv/p/7753904.html
Copyright © 2011-2022 走看看