有沒有一種很好的方法來定義dojo中的真正的私有變量?dojo的私有變量
在道場1.7/1.8,我發現2種方式來定義私有變量,但他們兩人都是靜態的私人
1.使用匿名即時功能(由類的所有實例共享):
define([
'dojo/_base/declare'], function(declare) {
'use strict';
return declare('test.Class2', null, (function(){
var a = 1;
return {
constructor: function(){
console.log('constructor');
},
geta: function(){
return a;
},
seta: function(v){
a = v;
}
};
})());
});
2.定義模塊定義中的私有變量。
define([
'dojo/_base/declare'], function(declare) {
'use strict';
var a = 1;
return declare('test.Class1', null, {
constructor: function(){
console.log('constructor');
},
geta: function(){
return a;
},
seta: function(v){
a = v;
}
});
});
'privVar1'將作用於'構造函數'函數,所以我認爲這不會起作用。 – McDowell
函數「modPrivVar1」中的變量「privVar1」將被視爲全局變量,而不是私有變量。 – qlqllu