2018.12.25笔记

《运算符》

  运算符:

      数学运算符:+    -    *    /    %    ++    --;

      关系运算符:==    !=    >=    <=    >    <;

      逻辑运算符:&&    ||    !;

      其他运算符:+=    -=    *=    /=    %=    ?:;

   

  三元运算符:

 

   语法: 条件 ? 结果1 : 结果2; 把条件写在的前面后面跟着用分隔的结果1和结果2,满足条件是结果1,否则是结果2。

 

        例子1:

 

        <script type="text/javascript">      

          if(exp){
            exp为true的代码段;
          }else{
            exp为false的代码段;
          }
          exp1?exp2:exp3;
 第一种写法:     if(3>1){
          document.write('aa');
          }else{
          document.write('bb');
          }

 第二种写法:     3>1?document.write('aa'):document.write('bb'); 

 第三种写法:     var res=3>1?'aa':'bb';

            document.write(res);

 

        </script>

      结果:aa 

   例子2:

          var x=0/0;     ------x = NaN
          res=!isNaN(x)?0:x;
          alert(res);

        结果:NaN

 

  逻辑运算符:

    1、||(逻辑或), 从字面上来说,两个表达中有一个为true,整个结果为true。只有前后都是false的时候才返回false,否则返回true。    

       alert(true || true);  //true
      alert(true || false);  //true
      alert(false || true);  //true
      alert(false || false);  //false

         alert(0 || 1);  前面0=falsr(0),后面1=true(1),答案是ture,返回结果也就是1

       如果第一个表达式为true,整个结果为true,把第二个表达式短路了 

        只要“||”前面为false ,无论“||”后面是true还是false,结果都返回“||”后面的值。

        只要“||”前面为true ,无论“||”后面是true还是false,结果都返回“||”前面的值。

 

     2、&&(逻辑与),从字面上来说,只有前后都是true的时候才返回true,否则返回false。

      alert(true && true);   //true
      alert(true && false);  //false
      alert(false && true);     //false
      alert(false && false);  //false
        如果第一个表达式为false,整个结果为false,就把第二个表达式短路了

        只要“&&”前面是false,无论“&&”后面是true还是false,结果都返回“&&”前面的值。

        只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返回“&&”后面的值。

    3、逻辑非“!”: 逻辑取反, false变true,true变false, 

    alert(!true);
    alert(!false);

 

  自增自减运算符:

     自增运算符“++”,将数值增加1

     自减运算符“- -”,将数值减少1

    如果是++b,则表示先对变量b+1,再执行其他的操作
    如果是b++,则表示先执行表达式操作,再对变量自身+1

 

   ++/-- 在左边先运算后赋值  //++a

   ++/--在右边先赋值后运算  // a - -  

 

    __ 整型支持自增 自减运算符
        var num1=1;
        alert(num1++);   //1
        alert(num1);     //2
        alert(++num1);     //3
        alert(num1- -);    //3
     __ 浮点型支持自增自减运算符
       *  num1=12.3;
        alert(- -num1);  //11.3
       *  num1=true;                num1=false;
        alert(++num1);  //2              alert(++num1);  //1 
        alert(- -num1);   //1              alert(- -num1);   //0
     __字符串型不支持自增自减运算符
        num1='3b';
        alert(++num1);  //NaN
        alert(- -num1);   //NaN
     __ null支持自增自减运算符
        num1=null;
        alert(++num1);  //1
        alert(- -num1);   //0
        num1=undefined;    //不支持
        alert(++num1);    //NaN
        alert(null == undefined)  //true

 

     算术运算符:

   java的算数运算符包括+(加)、-(减)、*(乘)、/(除)、%(取余),

      var i=3 , j=8;
  //常见    document.write(i+j);    //11
      document.write(i-j);     //-5
      document.write(i*j);     //24
      document.write(i/j);     //0.375
      document.write(i%j);    //3
      document.write(3%-8);   //3
      document.write(-3%8);     //-3
      document.write(-3%-8);    //-3

  //特殊    document.write(i+'8');        //38
      document.write('2'+'8');     //28
      document.write(i+j+'3king');    //113king
      document.write(' '+i);      //_3或3    (' ')空字符串不计

      document.write(''+i+j+'3king');  //383king

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

      var z=' '+i;
      alert(typeof z);    //string 

 

        赋值运算符:        

  运算符  名称    示例  
  =  赋值     a=b+c 把b+c得到的值赋给a
  +=  加等于    a+=b   a=a+b
     - =  减等于    a -=b   a=a -b
   *=  乘等于    a*=b   a=a*b
   /=     除等于    a /=b   a=a /b
     %=      a%=b   a=a%b

   例子:  

      var a=1;
      a+=3;   //a=a+3;  结果:4

      a-=6;   //a=a - 6;  结果:-5
      a*=8;   //a=a * 8;    结果:8
      a/=4;   //a=a / 4;  结果:0.25
      a%=9;    //a=a%9;  结果:1

 

       alert(a);

 

  比较运算符:

    比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。

 

   比较运算符    名称        举例  结果
    >    大于      a=5;b=2;a>b;   true
    <    小于      a=5;b=2;a<b;   false
   >=    大于等于       a=5;b>=3;   true
   <=      小于等于      a=5;b=2;b<=a;   true
   ==      等于      a=5;b=2;a==b;   false
   !=       不等于      b=2;b!=2;   false

    例子:

        alert(3>1);      //true
        alert(3>=1);      //true
        alert(3<=12);      //true
        alert(3<2);      //false

        var res=1==true;     //true
        res=2=='1';       //false
        res=3=='3king';     //false
        res=0==null;       //false
        res=0!=null;      //true
        res=1===true;         //false
        alert(NaN==NaN);   //false
        alert(null==null);   //true

        alert(res);

posted @ 2018-12-26 01:40  肥越  阅读(137)  评论(0编辑  收藏  举报