我是试图在JavaScript中使用面向对象编程的C#开发人员。对于下面的代码函数访问变量
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;
};
的结果是一样的。所以问题仍然有效。我怎样才能从函数操作私有变量?
使用'VAR3 = B;'。你想做什么? – Blender 2013-02-09 23:07:48
'a'? 'B'?你没有定义它们。 – 2013-02-09 23:11:49
'var3 = b;'不工作太... – 2013-02-09 23:26:10