zoukankan      html  css  js  c++  java
  • JavaScript基础学习--09运算符、程序流程控制

     
    一、模%     i % num ---> 0、1、2……num-1(i比num小取i值,i比num大取减值;比小取小,比大取减
         0 % 3 = 0;
         1 % 3 = 1;
         2 % 3 = 2;
         3 % 3 = 0;
         4 % 3 = 1;
         5 % 3 = 2;
     1 var j = 0;
     2 for(var i = 0; i < arr.length; i++){
     3      aLi = document.getElementsByTagName('li');
     4      aLi[i].style.background = arr[i%arr.length];     //[i%arr.length]会遍历0~arr.length,例如:0、1、2、0、1、2、0、1、2……
     5  
     6      //以上写法等同于:
     7      if(j >= arr.lenth){
     8          j = 0;
     9      }
    10      arr[i].style.background = arr[j];     
    11      j++;
    12 }
     
    二、运算符
         1、==       等于,只判断值是否相等,不管类型:'3' == 3 //true
         2、!=     
         3、===     全等,先判断类型,如果类型不相等,直接报错,不进行下一步值的判断;如果类型相等再判断值是否相等     '3' === 3 //false
         4、!==
         5、&&     var a = 12 < 31 && 20    // a = 20
         6、||         var a = data || 12  //如果data不等于0(为真),则a = data; 否则 a = 12;      //假设两边都不靠谱,则false
         7、!     var a = !true // false     var a = !200 // false     --》 ! 具有数据类型转换的功能,转化为boolean  true/false     
    反选:
    for(var i = 0; i < aInp.length; i++{
        if(aInp.cheched){
              aInp.checked = false;
        }else{
              aInp.checked = true;
         }
        // 简单写法:
        aInp[i].checked = !aInp[i].checked;
    }
         8、三元运算     x ? y : z;
     
    流程控制
     
    一、判断
         1、if
         2、switch
    switch(str){
          case 'js':
              alert('js');
              break;
        case 'html':
            alert('html');
            break;
        default:
           alert(str);
    }
         3、只有一个 if + else  的时候,可以改利用三元运算符判断:12 < 45 ? alert(123) : alert(456);     ||  dir = parseInt(getStyle( obj, attr )) < target ? dir : -dir;
         4、只有一个 if 的时候,可以改利用“且”运算符(&&):callback && callback();
        
    二、判断
         1、for
     
    for(var i = 0; i < 3; i++){
        alert(i); 
    }
     
         2、while
    var i = 0;
    while(i < 3){
         alert(i);
         i++;
    }
     
         3、continue 和 break
    for(var i = 0; i < 10; i++){
         if(i === 4){
              //continue;     跳过本次循环,不往下执行,但是继续执行 i++ 之后的循环     //0 1 2 3 5 6 7 8 9
              break;     跳出for循环,结束剩余for循环     //0 1 2 3
         }
         alert(i);
    }
     
    三、真假的问题     从类型出发(数字类型、字符串、布尔、函数、对象(elem、[]、{}、null))、undefined
         1、真
              1.1     非0的数字(包括负数等等)
              1.2     非空字符串(包括空格等等)
              1.3     true
              1.4     函数
              1.5     能找到的元素
              1.6     所有数组(数组相当于仓库,都是存在的,包括空数组
              1.7     json(同数组,包括空json对象
         2、假
              2.1     0
              2.2     NaN     例如 123-'abc'
              2.3     空字符串      ''
              2.4     false
              2.5     不能找到的元素
              2.6     null
              2.7     undefined
     
     
     
     
     
     
     
  • 相关阅读:
    字符串的格式化操作
    了解格式化输出,字符串和编码
    面试题2
    面试题1
    设计算法1
    C++ STL容器的理解
    网络是怎样连接的-路由器的附加功能
    网络是怎样连接的-路由器的包转发操作(下)
    网络是怎样连接的-路由器的包转发操作(上)
    网络是怎样连接的-交换机的包转发操作
  • 原文地址:https://www.cnblogs.com/hihao/p/7344712.html
Copyright © 2011-2022 走看看