小结下在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();