我使用 Javascript 采用面向对象的方法,原因有两个。一,因为它可以帮助我学习,二,以防我的代码被分发。
我已经将函数分配给变量并this
用于公共变量。但是,我在使用this
时遇到了问题。当我在“私有”函数中时,this
指的是不同的范围,我无法访问this
. 我将说明我的观点。
var ClassObject = function() {
this.var1 = 'Hello';
var var2 = 786;
this.func1 = function() {
alert(this.var1); // Alerts Hello
alert(var2); // Alerts 786
}
var func2 = function() {
alert(this.var1); // Alerts undefined
alert(var2); // Alerts 786
}
}
我发现授予func2
访问权限的唯一方法this.var1
是将另一个变量分配给this
: var c = this
。这是完成这项任务的最佳方式,甚至是被广泛接受的方式吗?有人可以提供更好的解决方案吗?
谢谢你们。