js表达式与运算符

原创 2018年04月16日 15:20:53
<script>
//     var r = 8;
//     var pi = 3.14;
//     var s = pi*r*r;
//     alert("圆的面积为"+s);
//          var i=8,j=6;
//          document.write(i+j);
//          document.write("<br />")
//          document.write(i-j);
//          document.write("<br />")
//          document.write(i*j);
//          document.write("<br />");
//          document.write(i/j);
//          document.write("<br />");
//          document.write(i%j);//取余的时候负号只在前面一个数字有用
//          document.write("<br />");
//          document.write(-i%j);
//          document.write("<br />");
//          document.write(-i%-j);
//          document.write("<br />");

            
            //加号比较特殊
//          var a=12,b="33",c=12;
//          document.write(a+b);//此时+是连接符,自动将a和b连接在一起成为一个新的字符串
//          document.write("<br />");
//          document.write("33"+"66");
//          document.write("<br />");

            /*js代码执行顺序从左往右执行,在我们的加号连接表达式中如果说在遇到字符串之前还有数值的话可以按照原有数值进行加法计算,
                            在遇到字符串之后再来进行自动转换,所以结果是数值12和12先进行加法运算然后转换成字符串"24"与"king"进行连接
             */

//          document.write(a+c+"king");
            
            //自增自减运算符 ++ --
//          var num1 = 1;
//          alert(num1++);//后缀形式先执行后加减1
//          alert(num1);
//          
//          var num2 = 1;
//          alert(++num2);//前缀形式先加减1再执行
//          alert(num2);


//         var i = 1;
//         var a = i++;
//         alert(a);
//运算结果为1 变量i先将原值1赋给变量a之后自己再加1
           
           //字符串型不支持自增自减
//         var num1="a";
//         alert(++num1);
//         var num2=" ";//但是空字符串可以
//         alert(++num2);
//         alert(--num2);


           //undefined不支持自增自减
//         var num1 = undefined;
//         alert(++num1);
//         alert(--num1)

          
          //数值型、布尔类型、null支持自增自减
          
          
          
          //字符串连接符+

//        var i = 1, j = 2, z = 3;
//        document.write(i + j + z + "<br />");
//        document.write(" " + i+ j + z);//在前面加上加上一个空格,这样数值就自动转换成了字符串,整个式子成为了字符串的的连接,没有数值的计算
//        document.write("<br />");
//        var a = "1", b = "2", c = "3";
//        document.write(a + b + c);
 
          // += -= *= /= %= 
//        var a = 1;
//        var b = 2;
//        alert( a+= b);//a = a + b
//        alert(a);









          //比较运算符== != === !==
//        alert(0 == null);//false
//        alert(0 != null);//ture
//        alert(0 == false);//ture
//        alert(0 === null);//false
//        alert(0 !== null);//ture
//        alert(0 === false);//false
//        alert(0 !== false);//ture
//        
//        var a = 1 == "1";//ture
//        alert(a);
//            a = 1 === "1";//false
//        alert(a);
          
//        alert(NaN == NaN);//false NaN是唯一不能与自身进行比较的值





          //逻辑运算符  && ||  !
          //要求两个表达式为true,结果才为true

//        alert(true && true);//true
//        alert(true && false);//true
//        alert(false && false);//true
//        alert(true && false);//true
////        alert(true and true)//报错 js中不能使用and表示&&,不能使用or表示||,不能使用not表示!
//        
//        alert(true && true);
//        alert(true || true);


          //逻辑“!”,取反的作用
//        alert(!true);




          //在&&中,如果第一个表达式为false,整个结果就为false,就把第二个表达式短路了
//        var i = 0, j = 1;
//        if(i++ && j++ ) //步骤2
//        {
//        alert("yes");
//        alert(i);
//        }else{
//        alert("no");
//        alert(i);//返回结果为1,说明i在步骤2结束之后就加上了1而不是等循环结束之后再加上1
//      
//        }
//        alert(i);
//        alert(j);

          /*
                        运算结果为yes 变量i初始值为1,进入if循环,i首先带入初始值0,0对应着布尔值false,即整个判断语句的结果也就变成false,然后i才加1,
                        第二个表达式j++也就被短路没有运行,接着运行else下面花括号内的执行代码
                        最后i和j返回的值分别是1和1。如果是++i,那整个结果为true
          */
           
           //在||中,如果第一个表达式为true,则第二个表达式就被短路了

//         var i = 1, j = 0;
//         if(i++ || ++j){
//          alert("yes")
//         }else{
//          alert("no")
//         }
//          alert(i);//2
//          alert(j);//0

          /* 
                        变量i先带入初始值1进入判断语句,1对应的布尔值为true,即造成了第二个表达式++j短路,整个判断语句结果为true,结束判断语句,i加上1。
                        然后循环进入执行语句,输出yes。
                       最后i输出的值是2,j由于被短路,所以输出的值为初始值0

          */

</script>

ArcGIS for JS基础课程

-
  • 1970年01月01日 08:00

JS 问号运算符的问题

       oPageHref.href = "http://" + bTest?arrSections[i]:"none"; 这句语句的运行顺序不是所想的:   "http://" + (bTes...
  • norsd
  • norsd
  • 2009-01-22 00:50:00
  • 2913

js中的 || 与 && 运算符

表达式a && 表达式b :  计算表达式a(也可以是函数)的运算结果,                                          如果为 True, 执行表达式b(或函数)...
  • dqsweet
  • dqsweet
  • 2016-06-22 14:59:31
  • 7830

javascript中得in运算符

1、For...In 声明用于对数组或者对象的属性进行循环/迭代操作。     对于数组 ,迭代出来的是数组元 素,对于对象 ,迭代出来的是对象的属性; var x va...
  • alex8046
  • alex8046
  • 2014-10-29 14:23:43
  • 620

js中的三目运算符详解

判断 javascript中的三目运算符用作判断时,基本语法为: expression ? sentence1 : sentence2 当expression的值为真时执行sentence...
  • sysuzhyupeng
  • sysuzhyupeng
  • 2017-02-08 22:56:42
  • 23651

es6的 ... 三点运算符的用法

http://www.cnblogs.com/chrischjh/p/4848934.html
  • baidu_31333625
  • baidu_31333625
  • 2017-05-05 11:37:41
  • 4668

js 逻辑运算符&&和||返回值

首先是&&,先计算左边表达式,如果它的值为false或可被转换为false(null、NaN、0或undefined),那么返回左边表达式的值,否则返回右边表达式的值 然后是||,先计算左边...
  • injurooioo
  • injurooioo
  • 2017-06-02 14:06:18
  • 1063

js中短路运算符 || &&

见过好多插件都这么用,感觉高大上。。。|| 与 &&说到底也没啥,稍微懂点程序的,或者是搞过相关硬件编程的都会用到这玩意,就算是数学,中学你可能都用到过。是不是不信? && 和 || 运算符使用短...
  • web_longboss
  • web_longboss
  • 2017-06-20 16:55:28
  • 424

变量、运算符、表达式

  • 2009年07月06日 19:06
  • 51KB
  • 下载

AngularJS运算表达式

HTML正文: quantity:{{quantity}} 插值表达式等价于:
  • yang1464657625
  • yang1464657625
  • 2017-01-08 23:44:47
  • 1183
收藏助手
不良信息举报
您举报文章:js表达式与运算符
举报原因:
原因补充:

(最多只允许输入30个字)