首页 > 解决方案 > 在箭头函数中访问对象的参数

问题描述

在以下代码中,函数 MakeNode() 返回一个节点,其中包含提供给 MakeNode() 的参数。在节点内,有一个函数,一个箭头函数,它需要节点的变量之一。

我已经阅读了关于此的 ES6 js 文档。和范围。仍然找不到我的函数如何从它自己的对象访问变量。

我尝试通过以下方式访问它:

this.x
this.X
x
X
n.x
n.X

没有成功。实际代码:

    function MakeNode(x, y) {
      let n =
      {
        Parent: null,
        X: x,
        Y: y,
        PrintXY: () => {
          console.log("X, Y =", x, y);
        }
      }
      return n;
    }
    
    //further, when called:
    var aNode = MakeNode(10, 20);
    aNode.PrintXY();

我希望打印语句是

X, Y = 10 20

但我得到:

X, Y = undefined undefined

无论我尝试以何种方式访问​​它,我也会收到以下错误:

TypeError: Cannot read property 'X' of undefined

标签: javascripttypeerrorarrow-functions

解决方案


推荐阅读