复习JavaScript(七)

87 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情*

自增自减

我们在做一些算法题目的时候,通常会用到自增和自减两个概念,说白了自增和自减无非就是在自身的基础上进行+1或-1的操作,是最常见的数学运算符之一

自增:++ 自减: --

自增和自减只能用于变量,不能用于常数

image-20230121100918425

++和--的位置

运算符++--可以置于变量前,也可以置于变量后

  • 当运算符置于变量后,被称为后置形式 (postfix form)
  • 当运算符置于变量前,被称为前置形式 (prefix form)

image-20230121101206074

前置形式和后置形式的区别

  1. 这两者是有区别的,但只有当我们使用 ++/-- 的返回值时才能看到区别
  2. 如果自增/自减的值不会被使用,那么两者形式没有区别
  3. 如果我们想要对变量进行自增操作,并且需要立刻使用自增后的值,那么我们需要使用前置形式
  4. 前置形式返回一个新的值,但后置返回原来的值

运算符的优先级

符号运算顺序
**从右往左
**从左往右
/从左往右
%从左往右
+从右往左
-从右往左

比较运算符

  • 大于 / 小于: a > b ,a < b
  • 大于等于 / 小于等于: a >= b ,a <= b
  • 检查两个值的相等: a == b,请注意双等号 == 表示相等性检查,而单等号 a = b 表示赋值
  • 检查两个值不相等: 不相等在数学中的符号是 ≠,但在 JavaScript 中写成 a != b

**=====**的区别

在我们写项目的时候,有时候会需要检查两个值是否相等,但是如果我们使用普通的==进行判断,会存在一个问题:它不能区分出 0 和 false,或者空字符串和 false这类运算

原因
  1. 这是因为在比较不同类型的值时,处于判断符号==两侧的值会先被转化为数字
  2. 空字符串和false也是如此,转化后它们都为数字 0,因此见下图

image-20230121102611545

很多情况下,我们是需要严格区分0和false的,这个时候===就派上用场了😎

使用===的好处
  1. 严格相等运算符===在进行比较时不会做任何的类型转换
  2. 换句话说,如果a和b属于不同的数据类型,那么 a === b 不会做任何的类型转换而立刻返回 false
  3. 同样的,不相等符号 != 类似,严格不相等表示为 !==
  4. 严格相等的运算符虽然写起来稍微长一些, 但是它能够很清楚地显示代码意图 ,降低你犯错的可能性
  5. 在日常编写代码或者写项目的时候,我更推荐大家使用===来降低代码犯错的可能性😆