我有一个按下按钮时执行的函数。
我不希望用户连续执行该函数两次。所以我使用了 window
变量。
我做到了:
function a() {
if(window.infunction != undefined || window.infunction != null) {
return;
}
window.infunction = 'true';
//do stuff
}
在其他地方(按下另一个按钮)我重置:window.infunction = undefined
这是使用全局变量的正确方法(至少满足我的需要)吗?
最佳答案
函数是对象。它们可以像任何其他对象一样具有属性:
function a(){
if (a.executed) return;
a.executed = true;
//do stuff
}
正如 @Ian 在他的评论中提到的,您可以轻松地使该函数可重用。这种方法既有优点,也有缺点。
正如@Dave所说,它可以通过闭包来实现:
var a = (function (){
var executed = false;
return function (){
if (executed) return;
executed = true;
//do stuff
}
})();
关于javascript - javascript中最合适的全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16905581/