Fur*_* S. 1 javascript design-patterns
我被 JavaScript 中的设计模式所困扰,我想创建一个私有静态成员变量来保持对象计数。沿着这些思路:
var person = function(name){
//How to persist this value across multiple calls avoiding Globals
var _personCount = _personCount || 0;
_personCount++;
var _name = name;
getPerson = function(){
return "Person is: " + _name;
}
};
person("foo");//_personCount should be 1 after this call
person("bar");//_personCount should be 2 after this call
Run Code Online (Sandbox Code Playgroud)
这个想法类似于私有静态变量,只能由类的内部变量访问
您可以使用揭示模块模式:
var something = (function() {
var myThing = 0;
return {
doSomething: function() {
myThing++;
}
};
})();
something.doSomething(); // myThing is now 1
Run Code Online (Sandbox Code Playgroud)
该变量位于所谓的 IIFE(立即调用函数表达式)内,将在程序的整个生命周期中保留。
如果您要在不同的地方多次实例化该模块,则还需要创建一个singleton。
归档时间: |
|
查看次数: |
263 次 |
最近记录: |