我是試圖在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