如何从同一个类中的方法访问类数据成员[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从同一个类中的方法访问类数据成员[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我有一个类,它有一个构造函数。我通过this.something分配一个类变量,而不是在同一个类中的另一个函数中访问它。

以下是我的课

class A {
    some_func() {
        console.log(this.var1);  // this is giving undefined
    }
    constructor(socket, var1) {
        this.socket = socket;
        this.var1 = var1;

        this.socket.on('some event', some_func);
    }
}

some_func函数内部,变量是未定义的。我该如何解决这个问题?

答案

我没有看到你的代码有问题。在使用该方法之前,您是否确实在实例化变量?如下所示

class A {

    constructor(socket, var1) {
        this.socket = socket;
        this.var1 = var1;

        //this.socket.on('some event', this.some_func);
    }
    
    some_func() {
        console.log(this.var1);  // this is giving undefined
    }
}

var instanceA = new A('socket', 'var')

instanceA.some_func() // Returns 'var'

以上是关于如何从同一个类中的方法访问类数据成员[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在c#中访问另一个类中的一个类的私有函数?

C#:基类中的受保护方法;无法使用来自另一个类的派生类对象进行访问[重复]

面向对象中对象和类以及如何访问类中属性和方法

如何在c#中访问内部类中的外部类的变量[重复]

如何访问其子类中的类的私有变量?

从派生类访问基类中的受保护成员