分享几个实际开发中经常被忽略 JS 技巧,也是读《你不知道的 JavaScript》学到的。

1、typeof 误解

声明一个变量 var a,typeof a 常被误解是求变量 a 的类型,其实是求变量 a 中「当前值的类型」。如图所示,当 a 的值发生改变时,typeof a 的结果也在发生变化。

被我忽略的 6 个 JS 开发小技巧

2、真假难辨

js 中的「假值」包含 ""、0、-0、NaN,、null、undefined、false,记住空字符串也是「假值」,而空数组 [] 和空对象 {} 却不是假值。通过下面代码可以验证一下:

被我忽略的 6 个 JS 开发小技巧

3、== 与 ===

被我忽略的 6 个 JS 开发小技巧

这段代码的打印结果是啥?结果是 a == c,看到这个结果我难以置信。== 和 === 的区别在于,== 检查「值相等」,而 === 检查「值和类型」相等。但这么说并不精确。正确的说法是,== 检查的是允许类型转换的情况下值的相等性,而 === 检查不允许类型转换的情况下值的相等性;因此,=== 经常被称为“严格相等”。

4、类型之间比较

被我忽略的 6 个 JS 开发小技巧

上面的打印结果是啥?结果打印的是”我该咋办“。原因是这样的, b 在 < 和 > 比较过程中,b 被转换成了无效数字 NaN,「规范设定 NaN 即不大于也不小于任何值」。== 比较结果为假是因为无论 42 == NaN 还是 "42" == "suyan" 都不可能为真。

5、自己实现一个 isNaN 函数

被我忽略的 6 个 JS 开发小技巧

这里利用了 NaN 值的一个特性,即 NaN 是整个语言中唯一和自身不相等的值。因此,NaN 是使得 x != x 为真的唯一值。

6、IIFE

被我忽略的 6 个 JS 开发小技巧

别被上面的函数搞晕,换个姿势:

被我忽略的 6 个 JS 开发小技巧

还不懂?那看 让 JavaScript 文件代码相互独立 这篇吧。

大家加油!


推荐阅读:

群里分享的关于我对 JS 闭包的理解

10x 程序员 · 提高 shell 的使用效率

被我忽略的 6 个 JS 开发小技巧

相关文章:

  • 2022-12-23
  • 2021-04-26
  • 2021-05-08
  • 2022-12-23
  • 2022-01-01
  • 2022-12-23
  • 2021-10-10
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-05-29
  • 2021-07-11
  • 2021-08-29
  • 2022-01-02
  • 2021-09-15
相关资源
相似解决方案