JAvascriptにおける静的変数の2つの実装方法

556 ワード

javascriptで静的変数を実現する方法について、最も簡単なカウンタで説明します.
1)

function getCounter() {
if (this.c === undefined)
this.c = 0;

this.c++;
return this.c;
}

この方法は簡単であるが,静的変数が多く,ifを多く判断する必要があり,あまりよくない.
2)閉パック

function giveMeAFunction() {
var counter = 0;

return function() {
counter++;
return counter;
};
}

呼び出し:
var myCounter = giveMeAFunction();
//表示1
myCounter();
//表示2
myCounter();