小结下在javascript中关于如何实现静态变量的两个方法,以最简单的计数器来说明:
1)
这个方法虽然简单,但如果需要的静态变量很多,需要很多if去判断,不大好
2) 用闭包
调用:
var myCounter = giveMeAFunction();
//显示1
myCounter();
// 显示2
myCounter();
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();