我定义了一个这样的类:
function Class1(){
this.Func1 = function(){
/* Methods and vars */
};
function Func2(){
/* Methods and vars */
};
};
我想找到一种从私有方法(Func2())调用公共方法(或获取公共变量的值)的方法。有什么建议吗?
Pd:抱歉,如果我使用的术语强烈面向对象,因为我是一名 C++ 程序员,而且我对 javascript 编程有点陌生。
From Func1
,你可以打电话Func2
直接地:
this.Func1 = function() {
Func2();
};
但是,您不能执行相同的操作来调用Func1
from Func2
因为Func2
(可能)有不同的范围和不同的定义this
当它被调用时;this.Func1
将是未定义的。正如下面 alx 所建议的,您可以使用另一个变量来保存作用域,该变量在从内部函数使用时将保留其值。您还可以保存参考Func1
在本地范围内如下:
var Func1 = this.Func1 = function() {
// fun stuff
};
function Func2() {
Func1();
}
这是有效的,因为它不依赖于不断变化的参考this
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)