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
 
 
 
 
 
 
 
posted @ 2017-08-11 10:51  HelenJ  阅读(148)  评论(0编辑  收藏  举报