我是 C# 开发人员,正在尝试在 javascripts 中使用面向对象的编程。对于以下代码
var np = np || {};
np.Class1 = function () {
var var1,
var2,
var3;
var init = function(a) {
var1 = a;
this.var2 = a;
init3(a);
};
var init3 = function(b) {
this.var3 = b;
};
return {
init: init,
var1: var1,
var2: var2,
var3: var3
};
};
var t = new np.Class1();
t.init("t");
console.log("var1 " + t.var1);
console.log("var2 " + t.var2);
console.log("var3 " + t.var3);
我越来越:
var1 undefined
var2 t
var3 undefined
我可以获得私有变量的唯一方法Class1
是使用this.var2 = a;
,但它不适用于从其他函数调用的函数。如何从函数访问私有变量init3()
?
已编辑
即使我init3()
像这样改变功能
var init3 = function(b) {
var3 = b;
};
结果是一样的。所以问题仍然有效。如何从函数中操作私有变量?