js-运算符


  • 运算符

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

  • 表达式:

是由数字、 运算符、变量等以能求得数值的有意义排列方法所得的组合。
表达式最终都会有一个返回值

① 算术运算符#

  • 浮点数的精度问题

    浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数

    var result = 0.1 + 0.2;    // 结果不是 0.3,而是:0.30000000000000004
    console.log(0.07 * 100);   // 结果不是 7,  而是:7.000000000000001
    

    所以,浮点数在算术运算时会出现精度问题。

    var num = 0.1 + 0.2;
    console.log(num == 0.3); // false
    
  • 自增与自减运算符

    前自增、减:先自增、减,在返回值。

    后自增、减:先返回值,后自增、减。

    var num = 10;
    var newNum = num++ + --num;
    console.log(newNum);//20
    

② 比较运算符#

<
>
<=
>=
==
!=
===
!==
  • 判等号的自动转型问题
console.log(18 == '18');//true
  • 相等 == / 全等 ===
    ===表示全等,他和==基本一致,不过==在判断两个值时会进行 自动的类型转换 ,而===不会。!== 和 !===也是同理

③ 逻辑运算符#

在进行逻辑操作时如果操作数不是布尔类型则会将其转换布尔类型在进行计算。

//逻辑与 &&
var res = 2>1 && 3>1; //true : true = true
var res = 2>1 && 3<1; //true : false = false

//逻辑或 ||
var res = 2>3 && 1<2; //false : true = true
var res = 2>3 && 1>2; //false : false = false

//逻辑非 ! , 取反符
var isOk = !true; // isok : false
  • 短路运算(逻辑中断 )

    1. 短路与&&

      • 如果第一个表达式的值为true,则返回表达式2
      • 如果第一个表达式的值为false,则返回表达式1,且不会执行表达式2
      console.log( 123 && 456 ); // 456
      console.log( 0 && 456 ); // 0
      console.log( 123 && 456&& 789 ); // 789
      
    2. 短路或||

      • 如果第一个表达式的值为true,则返回表达式1,且不会执行表达式2
      • 如果第一个表达式的值为false,则返回表达式2
      console.log( 123 || 456 ); // 123
      console.log( 0 || 456 ); // 456
      console.log( 123 || 456 || 789 ); // 123
      

④ 赋值运算符#

=
+=、-=
*=、/=、%=
var age = 10;
age += 5;  // 相当于 age = age + 5;
age -= 5;  // 相当于 age = age - 5;
age *= 10; // 相当于 age = age * 10;

⑤ 运算符优先级#

优先级 运算符 顺序
1 小括号 ()
2 一元运算符 ++, --, !
3 算术运算符 * / %+ -
4 关系运算符 > >= < <=
5 相等运算符 == != === !==
6 逻辑运算符 && 后`
7 赋值运算符 =
8 逗号运算符

作者:Hong•Guo

出处:https://www.cnblogs.com/ghnb1/p/15841571.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Hong•Guo  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示