gpt4 book ai didi

javascript - 从公共(public)方法调用私有(private)方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:55:47 30 4
gpt4 key购买 nike

我定义了这样一个类:

function Class1(){
this.Func1 = function(){
/* Methods and vars */
};

function Func2(){
/* Methods and vars */
};

};

我想找出一种从私有(private)方法 (Func2()) 调用公共(public)方法(或获取公共(public)变量的值)的方法。有什么建议吗?

Pd:抱歉,如果我使用的术语是强烈面向对象的,因为我是一名 C++ 程序员,而且我在 javascript 编程方面有点新手。

最佳答案

Func1,你可以直接调用Func2:

this.Func1 = function() {
Func2();
};

但是,您不能从 Func2 调用 Func1,因为 Func2 将(可能)具有不同的作用域和不同的定义this 调用时; this.Func1 将是未定义的。正如 alx 在下面建议的那样,您可以使用另一个变量保存范围,该变量在从内部函数使用时将保留其值。您还可以在本地范围内保存对 Func1 的引用,如下所示:

var Func1 = this.Func1 = function() {
// fun stuff
};

function Func2() {
Func1();
}

之所以可行,是因为它不依赖于不断变化的引用 this

关于javascript - 从公共(public)方法调用私有(private)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6420825/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com