在箭头功能内访问对象的参数

时间:2019-07-11 15:54:04

标签: javascript typeerror arrow-functions

在下面的代码中,函数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

1 个答案:

答案 0 :(得分:-1)

  

找到了。我在以下部分中以错误的顺序声明了变量   我的代码我几天都没碰过。其中一些要求其他人   正确定义。   实际的错误不在提供的代码中,但是你们让我意识到我没有在找合适的地方。再次感谢,祝你有美好的一天!