cod*_*ove 22 javascript jquery
我正在寻找一种好的技术来摆脱我想要做的事情:设置一个全局变量.
有人第一次通过单击按钮来运行某个功能时会触发一个初始功能,将一些东西变成可拖动的东西.稍后,如果他们第二次单击该按钮我想确定该init
函数是否已初始化,如果是,则不再调用它.我可以通过从init
函数中设置一个全局变量然后从click函数中检查该变量来轻松完成此操作,但我想知道如何在不设置全局变量的情况下执行此操作.我真的想要一个这样做的方法的例子.
Lev*_*ith 24
您可以向函数添加属性:
function init() {
init.called = true;
}
init();
if(init.called) {
//stuff
}
Run Code Online (Sandbox Code Playgroud)
Ami*_*rge 19
虽然@Levi的回答应该很好,但我想提出另一个选择.你会过度编写init函数,一旦调用它就什么都不做.
var init = function () {
// do the initializing
init = function() {
return false;
}
};
Run Code Online (Sandbox Code Playgroud)
第一次调用时的函数将执行init.然后它会立即覆盖自己,以便在下次调用时返回false.第二次调用函数时,函数体只包含return false.
欲了解更多信息,请访问:http://www.ericfeminella.com/blog/2011/11/19/function-overwriting-in-javascript/
归档时间: |
|
查看次数: |
22719 次 |
最近记录: |