zoukankan      html  css  js  c++  java
  • JavaScript 六大类运算符(详细~)

    运算符


     
    1、算术运算符:+、-、*、/、%、++、--
     
        单目(操作数为一个且为变量): i++、i--、++i、--i;
        双目:+、-、*、/、%;
     
    双目其中 -*/%
        如果运算符两侧的值为数字型,可进行正常的数值运算;console.log(3-1);//2
        如果存在纯数字字符串(如:"12"),计算机自动转其为数字型进行运算;console.log("3"-1);//2
        只要有一侧为非纯数字字符串,结果为NaN。console.log("3a"-1);//NaN
            NaN:非数字类型。
                        特点:① 涉及到的 任何关于NaN的操作,都会返回NaN   ② NaN不等于自身。
    双目 +
        如果运算符两侧的值为数字型,可进行正常的数值运算;console.log(3+1);//4
        只要有一侧为字符串,表达连接。console.log("3a"+1);//3a1
           (1)“%”取余运算符,两个数相除,取余数。
       A = 10 % 3;  // A = 1,如果余数不为0,则两个不能整除
       A = 10 % 2;  // A = 0,如果余数为0,则两个数能除尽
           (2)“++”加1运算符、自增1
                  “++”可以作前缀(++i),也可以作后缀(i++)。
      (3)“--”减1运算符,自减1
                  “--”可以作前缀(--i),也可以作后缀(i--)。
        i++和++i的区别:
             相同点:都让变量自增1;
             不同: i++    先将i的值赋给整个表达式,i再自增1;
               ++i    先i自增1,再将i的值赋给整个表达式
    例如:var i = 2;
            var j = i++;
            console.log(i);   //3
            console.log(j);   //2
            var i = 2;
            var j = ++i;
            console.log(i);//3
            console.log(j);//3
    2、赋值运算符:+=、-=、*=、/=、%=
            “+=”先加后等。如:a += 10  //等同于  a = a + 10
           “-=”先减后等。如:a -= 10   //等同于  a = a - 10
           “*=”先乘后等。如:a *= 10  //等同于  a = a * 10
           “/=”先除后等。如:a /= 10   //等同于  a = a / 10
            var i = 1;
                i += 2;
          console.log(i);//3
            var i = -2;
                i -=2;
          console.log(i);//-4
    3、字符串运算符:+、+=
    字符串只能进行“连接”运算,不能进行其它运算。
           var a = “abc”;
           var b = a + “bcd”;   // 结果b = a + “bcd” = “abc” + “bcd” = “abcbcd”
           var a = “abc”;
           a += 10;   // 结果a = a + 10 = “abc” + 10 = “abc10”
    4、关系(比较)运算符:>、<、>=、<=、==、!=(不等于)、===(全等)、!==(全不等)
           比较运算符的运算结果是布尔值(true或false)。
           A = 10 > 20;       // 结果A=false
           A = 20>=20;       // 结果A=true
           A = 10%2 == 0;    // 结果A=true
           A = 10%2 == “0”;  // 结果A=true
           A = 10%3 != 0;    // 结果A=true
           A = 10%2 === “0”;  //结果A=false
                console.log(i = 10 >=9);
           “=”是赋值号。如:a = 10
           “==”等于。只比较两个变量的值,而不管类型。只要值一样,就返回true,否则返回false。
           “===”全等于。既比较变量,也判断类型。如果类型和值都一样,返回true,否则返回false。
                     console.log(a=10 >= 9);//ture
                     console.log(null == undefined);//ture
                     console.log(null === undefined);//false
                      console.log(null == 0);//false
    字符串的比较:比较的是ASCII码值(a:97    b:98    c:99 ...    A:65    B:66    C:67 ...)/从左到右比较,直到比较出结果;
                     console.log("a" > "b");//false
    5、逻辑运算符:&&(且)、||(或)、!(非)
           逻辑运算符的运算结果有两个true或false。
          “&&”逻辑与(并且关系)。如果左右两个两个条件同时满足时,则结果为true,否则,结果为false。
      “||”逻辑或。左右两个条件,只要有一个满足,则返回true,否则,返回false。
      “!”取反运算。!true = false  、   !false = true  、 !100 = false
    为假的值:0    null    undefined    ""    false
    计算机自身短路情况:
    第一个条件 && 第二个条件       如果第一个条件为假则计算机出现短路现象 不会继续判断第二个条件
    第一个条件 || 第二个条件       如果第一个条件为真则计算机出现短路现象 不会继续判断第二个条件
    例如:
        console.log(6>7 && 5);//false
        console.log(5 && 6<7);//ture
        console.log(6<7 && 5);//5
        console.log(0 && 6>5);//0
     
    6、三目(元)运算符:? : 
    所谓“三目运算符”就是指三个操作数。
           语法:条件表达式 ? 结果1 : 结果2
           含义:如果条件为true,则执行“结果1”的代码;如果条件为false,则执行“结果2”的代码。
           其实:三目运算符,就是if else的变形形式。
     
  • 相关阅读:
    Kafka项目实践
    页级别的恢复
    Linux查看网卡流量(转)
    Linux Top 命令解析 比较详细(转)
    《神秘的程序员们》漫画26~28:《万年坑系列》 I、II、III(转)
    Linux概念架构的理解(转)
    Building Redis for use on Cygwin(转)
    2014值得期待的Erlang两本新书
    jps命令使用
    编译原理学习导论
  • 原文地址:https://www.cnblogs.com/xuelanying/p/10170495.html
Copyright © 2011-2022 走看看