zoukankan      html  css  js  c++  java
  • 【JavaScript运算符与表达式】

    一、表达式

    1.原始表达式:2.14,“test”,true/false,null……复合表达式:10*20……

    2.数组、对象的初始化表达式:new Array(1,2),[1,undefined,4],{x:1,y:2}=>var o = new Object();o.x=1;o.y=2;……

    3.函数表达式:var fe = function(){}; (function(){console.log('hello');})()……

    4.属性访问表达式:var o = {x:1}; o.x; o['x'];……

    5.调用表达式:func()……

    6.对象创建表达式:new Func(1,2); new Object()……

    二、运算符

    1、算术运算符

      运算符 = 用于给 JavaScript 变量赋值。

      算术运算符 + 用于把值加起来。

    运算符 + - * / % ++ --
    描述 加法 减法 乘法 除法 取模(余数) 自增 自减

    例子:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         
     7         <script type="text/javascript">
     8         //算术运算符
     9         var a=2,b=5;
    10         document.write(a+b+"=7"+"<br />");
    11         document.write(a-b+"=-3"+"<br />");
    12         document.write(a*b+"=10"+"<br />");
    13         document.write(a/b+"=0.4"+"<br />");
    14         document.write(a%b+"=2"+"<br />");
    15         document.write(a%-b+"=2"+"<br />");
    16         document.write(-a%-b+"=-2"+"<br />");
    17         document.write(-b%-a+"=-1"+"<br />");
    18         //+还有连接的意思
    19         document.write(a+'2b'+"=22b"+"<br />");
    20         document.write(a+b+'2b'+"=72b"+"<br />");
    21         document.write('3'+'8'+"=38"+"<br />");
    22         document.write(a+b*'2sb'+"=NaN"+"<br />");//只有加号可以连接
    23         //自增自减运算符(整型,浮点型,null支持、字符串不支持)
    24         var z=2;
    25         //alert(h++);   //2
    26         //alert(h);     //3
    27         //alert(++h);   //4
    28         //alert(--h);   //3
    29         x=3.123;
    30         //alert(--x);  //2.123
    31         //alert(++x);  //3.123
    32         n=null;
    33         //alert(++n);   //1
    34         //alert(--n);   //0
    35         s=undefined;
    36         //alert(++s);    //NaN
    37         m='3b';
    38         //alert(++m);  //NaN
    39         alert(--m);    //NaN  
    40         </script>
    41     </head>
    42     <body>
    43     </body>
    44 </html>

    2、逻辑运算符

    运算符 && || !
    描述 逻辑与(and) 逻辑或(or) 逻辑非,取逻辑的反面

    注意:这里会出现短路问题

    表达式a && 表达式b :  计算表达式a(也可以是函数)的运算结果,

                                             如果为 True, 执行表达式b(或函数),并返回b的结果;

                                             如果为 False,返回a的结果;

     简单的说就是 逻辑与运算符属于短路操作,如果有第一个操作数返回的是false,第二个不管是true还是false都返回false。

    表达式a || 表达式b :   计算表达式a(也可以是函数)的运算结果,

                                             如果为 Fasle, 执行表达式b(或函数),并返回b的结果;

                                             如果为 True,返回a的结果;

    简单的说就是 逻辑或运算符也属于短路操作,如果有第一个操作数返回的是true,第二个不管是true还是false都返回true。

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6     </head>
     7     <body>
     8         <script type="text/javascript">
     9             //逻辑运算符的例子
    10             //要求两个表达式为true,结果才是true
    11 //            alert(true && true);
    12 //            alert(true && false);
    13 //            alert(false && true);
    14 //            alert(false && false);
    15             //如果第一个表达式为false,整个结果为false,就把第二个表达式短路了
    16             var i=0,j=1;
    17             if(i-- && j++){                        //0->false && 
    18                 document.write('hello');
    19             }else{
    20                 document.write('world');
    21             }
    22             //alert(i);  //-1
    23             //alert(j);    //1
    24             //逻辑或|| 
    25             //两个表达中有一个为true,整个结果为true
    26 //            alert(true || true);
    27 //            alert(true || false);
    28 //            alert(false || true);
    29 //            alert(false || false);
    30             //如果第一个表达式为true,整个结果为true,把第二个表达式短路了
    31             i=1;
    32             j=0;
    33             if(i-- || ++j){
    34                 document.write('aa');
    35             }else{
    36                 document.write('bb');
    37             }
    38 //            alert(i);        //0
    39 
    40 //            alert(j);        //0
    41         //逻辑非 !,取反的作用
    42 //        alert(!true);
    43 //        alert(!false);
    44         </script>
    45     </body>
    46 </html>

    3、三元运算符

    (expr1) ? (expr2) : (expr3)

    语法解释:在 expr1 求值为 TRUE 时整个表达式的值为 expr2,否则为 expr3。

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6     </head>
     7     <body>
     8         <script type="text/javascript">
     9             /*
    10              三元运算符的例子
    11              if(exp){
    12                  exp为true的代码段;
    13              }else{
    14                  exp为false的代码段;
    15              }
    16              exp1?exp2:exp3;
    17              */
    18             if(3>1){
    19                 document.write('aa');
    20             }else{
    21                 document.write('bb');
    22             }
    23             document.write('<br/>');
    24             var res=3>1?'aa':'bb';
    25             document.write(res);
    26             document.write('<br/>');
    27             var x=0/0;
    28             var x=123;
    29             res=isNaN(x)?0:x;
    30             alert(res);
    31         </script>
    32         
    33     </body>
    34 </html>

    4、比较运算符

    运算符 描述 例子 运算结果
    == 等于 2 == 3 FALSE
    === 恒等于(值和类型都要做比较) 2 === 2
    2 === "2"
    TRUE
    FALSE
    != 不等于,也可写作<> 2 == 3 TRUE
    > 大于 2 > 3 FALSE
    < 小于 2 < 3 TRUE
    >= 大于等于 2 >=3 FALSE
    <= 小于等于 2 <= 3 TRUE

     

     

     

     

     

     

     

     

     

    //            比较运算符的例子
    //            alert(3>1);
    //            alert(3>=1);
    //            alert(3<=12);
    //            alert(3<2);
                  var res=1==true;
                  res=1=='1';
                  res=3=='3king';
                  res=0==null;//false 
                  res=0!=null;
                  res=1===true;
                  res=1===true;  //true //false
    //            alert(res);
    //            alert(NaN==NaN);//false
                  alert(undefined==undefined);    

    4、连接符

    连接运算符 + 主要用于连接两个字符串或字符串变量。因此,在对字符串或字符串变量使用该运算符时,并不是对它们做加法计算。

    1             //字符串连接符+
    2             document.write('hello'+' yimentu '+'<br/>');
    3             document.write(1+'king'+'<br/>');
    4             var i=1,j=2,z=3;
    5             document.write(''+i+j+z);
    6             document.write('<br/>');
    7             

    5、赋值运算符

    赋值运算符 = 用于赋值运算,赋值运算符的作用在于把右边的值赋值给左边变量。

     1             //赋值运算符的例子
     2             var username='king';
     3             document.write('用户名为:'+username+'<br/>');
     4             //+= -= *= /= %= .=
     5             var a=1;
     6             a+=3;//a=a+3;
     7                        //alert(a);
     8             a-=6;//-2
     9             a*=8;//-16
    10             (a/=4);  //-4
    11             a%=9;//a=a%9
    12             //document.write(a);
    13             document.write('<br/>');
    14             var str1=' hello ',str2=' world ';
    15             str2+=str1;//str2=str2+str1;
    16             //document.write(str2);
  • 相关阅读:
    Netty之SubPage级别的内存分配
    Netty之Page级别的内存分配
    Netty内存池及命中缓存的分配
    新建maven工程问题001
    Eclipse使用技巧
    excel使用技巧
    java 单例模式
    springmvc拦截器验证登录时间
    Filter实现用户名验证
    springMVC的配置文件路径问题
  • 原文地址:https://www.cnblogs.com/zxnn/p/8215592.html
Copyright © 2011-2022 走看看