何时不应使用 JavaScript 箭头函数?

javascriptweb developmentobject oriented programming更新于 2025/8/30 0:12:17

箭头函数不应用作对象方法,因为箭头函数没有自己的 this。它采用封闭词法范围的 this 值,即窗口对象,而不是对象本身。这可能会导致问题,因为我们现在将设置和访问窗口对象属性,而不是预期的对象。

以下代码显示了何时不应使用 JavaScript 箭头函数 −

示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .result {
      font-size: 20px;
      font-weight: 500;
      color: blueviolet;
   }
</style>
</head>
<body>
<h1>When to not use the arrow functions</h1>
<br />
<div class="result"></div>
<br />
<button class="btn">点击此处</button>
<h3>Click on the above button to call the add() method of object obj</h3>
<script>
   let BtnEle = document.querySelector(".Btn");
   let resEle = document.querySelector(".result");
   let obj = {
      a: 22,
      b: 44,
      add: () => {
         return this.a + this.b;
      },
   };
   BtnEle.addEventListener("click", (event) => {
      resEle.innerHTML = `The sum of ${obj.a} and ${obj.b} = ${obj.add()}`;
   });
</script>
</body>
</html>

输出

点击‘点击此处’按钮 −


相关文章


有用资源