JavaScript 基础易错点

三葉Leaves Author

本文总结一些 JS 基础中容易忘掉或者搞混的点,基础是重要的

关于循环

先来看看这段代码:

1
2
3
for(;;) {
console.log("我 tm 来啦"); //会输出几次?
}

答案是会输出无限次,因为中间为空意味着没有任何条件限制循环的终止。

关于运算符

输出规则

再来看看这段代码输出啥:

1
2
3
4
console.log(0 && 1 && 2 && 3); // 结果是 0
console.log(1 && 2 && 3 && 4); // 结果是 4
console.log(0 || 1 || 2 || 3); // 结果是 1
console.log(null || 0 || "" || "found"); // 结果是 "found"

说明:

  • && 的与运算中会输出遇到的第一个假值,全为真则输出最后一个真值
  • || 的或运算中会输出遇到的第一个真值,全为假则输出最后一个假值
啥是假值?

JavaScript 中有 6 个假值(falsy values):

  • false
  • 0
  • ""(空字符串)
  • null
  • undefined
  • NaN

优先级

请根据运算符的优先级给下面的运算符做个排序?

  1. 逻辑运算符 ||
  2. 比较运算符 >
  3. 一元运算符 ++
  4. 算数运算符 +

根据 JavaScript 运算符的优先级,排序如下:

  1. 一元运算符 ++(优先级最高):一元运算符的优先级很高,通常会在其他运算符之前执行。
  2. 算数运算符 +(优先级较高):算数运算符包括加法、减法、乘法等,它们的优先级高于比较和逻辑运算符。
  3. 比较运算符 >(优先级较低):比较运算符的优先级低于算数运算符,但高于逻辑运算符。
  4. 逻辑运算符 ||(优先级最低):逻辑运算符的优先级最低,它会在其他操作符完成后才进行运算。

数组

let arr = [] 声明数组未给值,请问里面的值是什么? ()
__A、true
__B、false
__C、null
__D、undefine

答案:undefine 。除非手动填充,否则不会是 null

  • 标题: JavaScript 基础易错点
  • 作者: 三葉Leaves
  • 创建于 : 2025-04-10 00:00:00
  • 更新于 : 2025-04-16 20:44:39
  • 链接: https://blog.oksanye.com/0b4a9a9c702f/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论