JavaScript操作符


前言

这部分来学习JavaScript的操作符,需要掌握各种操作符的用法。操作符也称作运算operator,js中发起运算的最简单的方式。


操作符

1.算数运算符

加减乘除取余+ - * / %(),运算顺序是先算乘除取余,后算加减,有小括号先算小括号。
代码如下(示例):

// console.log(4 + 5);
// console.log(4 - 5);
// console.log(4 * 5);
// console.log(4 / 5);
// console.log(4 % 5);

// NaN
// console.log(NaN + 5);
// console.log(NaN - 5);
// console.log(NaN * 5);
// console.log(NaN / 5);
// console.log(NaN % 5);

// Infinity
console.log(Infinity + 5);
console.log(Infinity - 5);
console.log(Infinity * 5);
console.log(Infinity / 5);
console.log(Infinity % 5);

console.log(5 + Infinity);
console.log(5 - Infinity);
console.log(5 * Infinity);
console.log(5 / Infinity);
console.log(5 % Infinity);

console.log(Infinity + Infinity);
console.log(Infinity - Infinity);
console.log(Infinity * Infinity);
console.log(Infinity / Infinity);
console.log(Infinity % Infinity);

2.比较运算符

也叫作关系运算符,比较操作数并返回一个布尔类型的值。

在这里插入图片描述
代码如下(示例):

<script>
   // 比较运算符
   console.log(5 > 6);
   console.log(5 < 6);
   console.log(5 >= 6);
   console.log(5 <= 6);
   console.log(5 == 6);
   console.log(5 != 6);
   console.log(5 === 6);
   console.log(5 !== 6);

   // 其他情况 NaN
   console.log(NaN > 6);
   console.log(NaN < 6);
   console.log(NaN >= 6);
   console.log(NaN <= 6);
   console.log(NaN == 6);
   console.log(NaN != 6);
   console.log(NaN === 6);
   console.log(NaN !== 6);

   console.log(NaN > NaN);
   console.log(NaN < NaN);
   console.log(NaN >= NaN);
   console.log(NaN <= NaN);
   console.log(NaN == NaN);
   console.log(NaN != NaN);
   console.log(NaN === NaN);
   console.log(NaN !== NaN);

   // 其他情况 Infinity
   console.log(Infinity > 6);
   console.log(Infinity < 6);
   console.log(Infinity >= 6);
   console.log(Infinity <= 6);
   console.log(Infinity == 6);
   console.log(Infinity != 6);
   console.log(Infinity === 6);
   console.log(Infinity !== 6);

   console.log(Infinity > Infinity);
   console.log(Infinity < Infinity);
   console.log(Infinity >= Infinity);
   console.log(Infinity <= Infinity);
   console.log(Infinity == Infinity);
   console.log(Infinity != Infinity);
   console.log(Infinity === Infinity);
   console.log(Infinity !== Infinity);
</script>

其他数据类型也可以参与比较,其他类型会隐式转换为数字进行比较。
null判断比较特殊,null与0判断时,=判断为false,而>=和<=判断为false。undefined==null判断结果则为true。
字符串与字符串比较,不发生隐式转换。字符编码顺序为0-9,A-Z,a-z前面的小于后面的。
比较顺序从前往后进行比较,前面的得出结果再和后面的进行比较。

// 字符串与字符串比较
console.log(6 < "12");
console.log("6" < "12");
console.log("A" < "12");
console.log("A" < "a");
console.log("banner" > "banana");

// 从前往后进行比较,前面得出了结果再往后进行比较
console.log(3 > 2 > 1);

3.逻辑运算符

常用于布尔类型值之间,当操作数都是布尔值时,返回值也是布尔值
&&逻辑与运算
||逻辑或运算
!逻辑非运算

// 逻辑与
console.log(true && true);
console.log(true && false);
console.log(false && true);
console.log(false && false);
// 逻辑或
console.log(true || true);
console.log(true || false);
console.log(false || true);
console.log(false || false);
// 逻辑非
console.log(!true);
console.log(!false);
console.log(!!!!true);

非正常情况:其他数据类型也可以参与逻辑运算,会隐式转换成布尔类型的值再进行逻辑运算。
在这里插入图片描述
运算符顺序:非与或

// 非正常情况,其他数据类型参与运算
console.log(null && "12");
console.log(1 && "12");
console.log(null || "12");
console.log(1 || "12");
// 非运算的结果之能事true和false
console.log(!7);

// 运算符的顺序
console.log(null && undefined || !6);

4.赋值运算符

变量位于操作符左侧
在这里插入图片描述

<script>
     var a = 6;
     a += 3;
     console.log(a);
     a *= 3;
     console.log(a);
 </script>

5.一元运算符

a++:先参与程序,再自加。
++a:先自加,后参与程序。

<script>
    var a = 10,b = 20,c = 30;
    num = a++ + ++b + c++ + ++a;
    console.log(num);
</script>

6.运算优先级

运算优先级也叫作综合运算顺序。
优先级从高到低:
(1)()优先级最高
(2)一元运算符 ++ - - !
(3)算数运算符 先* / % ,后+ -
(4)关系运算符 > >= < <=
(5)相等运算符 == != === !==
(6)逻辑运算符 && ||
(7)赋值运算符

<script>
  // () → 一元 → 算术 → 比较 → 逻辑 → 赋值
  var a = 4;
  var num = 1 * (2 + 3) && ++a || 5 > 6 && 7 < 8 || !9;
  //var num = 1 * 5 && ++a || 5 > 6 && 7 < 8 || !9;
  //var num = 1 * 5 && 5 || 5 > 6 && 7 < 8 || false;
  //var num = 5 && 5 || 5 > 6 && 7 < 8 || false;
  //var num = 5 && 5 || false && true || false;
  //var num = 5 || false || false;
  //var num = 5;
  console.log(num);
</script>

总结

操作符就学习到这里啦,每天坚持学习前端,加油~
在这里插入图片描述

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值