成员函数如何访问成员变量?

时间:2017-10-06 21:23:15

标签: node.js

在下面的代码片段中,我试图访问name,它是一个成员函数sayHi的成员变量。我怎么能这样做?

obj = {
    name:"John",
    sayHi: ()=>{
        console.log("Hi " + name);
    }

}
obj.sayHi();

2 个答案:

答案 0 :(得分:3)

箭头函数表达式最适合非方法函数。您希望sayHi使用name的{​​{1}}属性。 因此,您希望使用obj作为方法, 在这种情况下,箭头功能不适合此目的。

如果将箭头函数表达式更改为匿名函数, 然后,您可以使用sayHi来引用您将调用this.name函数的对象的name属性:

sayHi

关于箭头函数表达式的一个很好的资源是developer.mozilla.org上的这个页面。

答案 1 :(得分:0)

你不必使用像@janos这样的匿名函数。当您使用箭头函数时,this指的是定义对象的类或上下文。因此,您可以通过调用this.obj.name来调用名称,如下所示:

obj = {
    name:"John",
    sayHi: ()=>{
        console.log("Hi " + this.obj.name);
    }

}
obj.sayHi();