qwe*_*ymk 2 javascript function
我有这样的功能:
function run(arg) {
if (!window.alreadyRun) init();
window.alreadyRun = true;
/* more code */
}
Run Code Online (Sandbox Code Playgroud)
你明白了,我试图弄清楚它是否是第一次调用函数.
有一个更好的方法吗?不使用全局变量?像这样的东西:
function run(arg) {
var ranAlready;
if (!ranAlready) init();
ranAlready = true;
/* more code */
}
Run Code Online (Sandbox Code Playgroud)
这将返回一个函数,调用一个变量runCount来保存它被调用的次数.
var yourFunction = function() {
var runCount = 0;
return function() {
console.log(runCount);
runCount++;
}
}
var a = yourFunction();
a(); // runCount: 0
a(); // runCount: 1
a(); // runCount: 2
a(); // runCount: 3
Run Code Online (Sandbox Code Playgroud)
如果您只想运行init类型函数,可以将代码放在上面,返回内部函数.它将在返回内部函数之前调用一次,并且其作用域将保留其外部函数.
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |