小白学JavaScript的第四天

  谢谢大家浏览,希望大家能给我多提提意见,有不对的地方大家畅所欲言,一定及时改正
表情包

四、运算符

运算符(operator)也被称为——是用于实现赋值、比较和执行算数运算等功能的符号。

JavaScript中常用的运算符有:

  • 算数运算符

  • 递增和递减运算符

  • 比较运算符

  • 逻辑运算符

  • 赋值运算符

(一)、算术运算符

1.二元运算符

加+ 减- 乘* 除/ 取余%

let a=10;
let b=20;
let c=a+b;
console.log("c="+c);
console.log(a-b,a*b,a/b);//-10 200 0.5
console.log(a%b);//10
console.log(9%3,15%20,100%200,9%2);//0  15  100  1

2.+ 正号 - 负号

3.一元运算符

++ --(自增 自减)

如果不参与别的运算 前增和后置是一样的

如果参与别的运算:

前置 先自增 ,再赋值

后置 先赋值,再自增

      
// ------  不参与运算
      let i = 1;
      let j = 2;
      i++; // i=i+1
      j--; //j=j-1
      console.log("i=" + i); //2
      console.log("j=" + j); //1
​
      // ------  参与运算
      let a = 2;
      let b = a++; // 后置
      /*
        b=2
        a=3
      */
      console.log("a=" + a, "b=" + b); //a=3 b=2
      let c = ++b; //前置
      /*
        c=3;
        b=3;
      */
      console.log("c=" + c, "b=" + b); //c=3 b=3

例题1

<script>
      var a = 7;
      var b = 9;
      var c = 13;
        a = b++ + --c + ++a + --b + a++ + b-- - ++c;
      /*
在式子中的值  9          12           8       9     8          9            12
            b          c            a       b     a          b            b
此时的值     10         11           9       9     10         8            12
​
      */
      //a=42,b=8,c=13
        b = a++ + --b;
      /* 
在式子中的值  42      7
            a       b
此时的值     43      6
       */
      //a=43,b=49,c=13
      document.write(a + "<br>");
      document.write(b + "<br>");
      document.write(c);
</script>

(二)、赋值运算符

= += -= *= /= %=

优先级较低

let a = 10,
        b = 10,
        c = 10,
        d = 10,
        e = 10,
        f = 10;
      b += 10; //  a=a+10
      c -= 10; // a=a-10
      d *= 10; //a= a*10
      e /= 10; // a=a/10;
      f %= 10; // a=a%10;
      console.log(a);//10
      console.log(b);//20
      console.log(c);//0
      console.log(d);//100
      console.log(e);//1
      console.log(f);//0

(三)、比较运算符

> >= < <= == != === !==

比较和逻辑运算符用于测试 true 或者 false

== 和===有什么区别

== 比较时会转换数据类型 只要数值一样即可

=== 不会转换数据类型 值和类型完全一致

let a = 10;
let b = 20;
let c = a >= b;
​
      console.log(c); //false
      console.log(5 >= 5); //true
      console.log(a <= b); //true
      
      console.log("5" == 5); //true
      console.log("5" === 5); //false
      console.log("5" != 5); //false
      console.log("5" !== 5); //true

特例:当两边都是字符串时 (比较的ascii码 一位一位比)

(四)、逻辑运算符

逻辑运算符用于测定变量或值之间的逻辑。

&& 逻辑与 || 逻辑或 ! 逻辑非

短路逻辑:在计算逻辑表达式时,如果已经可以确定整个表达式的结果,则不会再继续计算剩余的部分。

&& 逻辑与

let a = 10;
let b = 20;
let c = a >= b && a < b;
      console.log(c); // false

在全是比较的式子中,一假为假,全真为真

特例

      
console.log(8 > 5 && false); //false
      console.log(8 > 5 && "hello"); //"hello"
      console.log(8 && 6); //6
      console.log(NaN && "hell" + 1 + null); //NaN
      console.log(8 > 6 && undefined); //undefined

这些操作数中 只有通过大小比较得到true或false 或者直接写的true和false才能返回false ,否则可能是原值

|| 逻辑或

let a = 10;
let b = 20;
let c = a >= b && a < b;
      console.log(c); // true

在全是比较的式子中,一真为真,全假为假

! 逻辑非

逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如true的相反值是false

var isOk  = !true;
console.log(isOk);	// false
var num =	7;

例题2

<script>
      var num = 7;
      var str = "我爱你~中国";
      console.log(num > 5 && str.length >= num); //false
      console.log(num < 5 && str.length >= num); //false
      console.log(!(num < 10)); //false
      console.log(!(num < 10 || str.length == num)); //false
    </script>

(五)、条件运算符

条件运算符 (三元运算符)

let res= 判断条件 ? 条件成立,返回 值1 : 条件不成立,返回值2

相当于 if...else

let score = +prompt("请输入一个成绩");
      score >= 80 ? console.log("合格") : console.log("不合格");
      let res = score >= 80 ? "合格" : "不合格";
      console.log(res);

(六)、运算符的优先级

  1. ()圆括号的优先级最大

  2. 一元运算符 ++ 、 --( ++a 优先级小于 a++ )、 ! 、+... 、-...

  3. 算术运算符 *(幂) 、 、 / 、 %(取余) 、 + 、 -

  4. 比较运算符 < 、 <= 、 > 、 >= 、 == 、 != 、=== 、!==

  5. 逻辑运算符 &&(逻辑与)、|| (逻辑或)

  6. 三元运算符 ? :

  7. 赋值运算符 =、 += 、-= 、*= 、/= 、%=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值