第一次在javascript/jquery中运行函数时没有做任何事情
问题是如果函数是第一次运行,我需要中断它 是否有可用的功能,或者我必须执行以下操作第一次在javascript/jquery中运行函数时没有做任何事情,javascript,jquery,function,loops,if-statement,Javascript,Jquery,Function,Loops,If Statement,问题是如果函数是第一次运行,我需要中断它 是否有可用的功能,或者我必须执行以下操作 var times = 1 function abc () { if (times == 1) break; else ..... times++; } times = 0; 谢谢。您可以使用此模式: var isFirstTime = true; function abc () { if (isFirstTime) {
var times = 1
function abc () {
if (times == 1)
break;
else
.....
times++;
}
times = 0;
谢谢。您可以使用此模式:
var isFirstTime = true;
function abc () {
if (isFirstTime)
{
isFirstTime = false;
return;
}
.....
}
abc(); //returns
abc(); //runs
function abc() {
if (!abc.flag) {
abc.flag = true;
return;
}
// .. rest of the code
}
它基于函数也是Javascript中的一个对象这一事实
基本上这是一种记忆模式。它的缺点是,标志
属性可以被其他代码覆盖。其优点是,您不需要使用额外的变量来污染全局范围
thg435提出了更优雅的解决方案。您可以使用以下模式:
function abc() {
if (!abc.flag) {
abc.flag = true;
return;
}
// .. rest of the code
}
它基于函数也是Javascript中的一个对象这一事实
基本上这是一种记忆模式。它的缺点是,标志
属性可以被其他代码覆盖。其优点是,您不需要使用额外的变量来污染全局范围
thg435提出了更优雅的解决方案。在我看来,您试图在错误的地方解决问题。你能告诉我们整个故事吗 与此同时,像这样的事情应该会起到作用:
function abc() {
abc = function() {
// ...actual work...
}
}
详细信息取决于函数的定义方式(全局、局部、作为一种方法)。在我看来,您试图在错误的地方解决问题。你能告诉我们整个故事吗 与此同时,像这样的事情应该会起到作用:
function abc() {
abc = function() {
// ...actual work...
}
}
详细信息取决于函数的定义方式(全局、局部、作为一种方法)。尝试以下方法:
var times = 1;
function abc () {
if (times == 1){}
else{
.....
times == 0;}
}
试试这个:
var times = 1;
function abc () {
if (times == 1){}
else{
.....
times == 0;}
}
break
将取消for
、while
、do while
和switch
语句,但不是函数。改为使用return
。break
将取消for
、while
、do while
和switch
语句,但不是函数。使用return
代替.OP-选择此答案!:)@不,这不是最好的答案。thg435提出了正确的方法。thg435的解决方案在哪里?@MarkBoulder现在是georg,我想是更改了用户名。但是将一个函数放在另一个函数中如何使它不会第一次运行呢?OP-选择这个答案!:)@不,这不是最好的答案。thg435提出了正确的方法。thg435的解决方案在哪里?@MarkBoulder现在是georg,我猜是更改了用户名。但是将一个函数放在另一个函数中如何使它不会第一次运行呢?这是这种情况下的最佳模式。这没有任何意义。介意解释一下它是怎么工作的吗?谢谢这是这种情况下最好的模式。这没有任何意义。介意解释一下它是怎么工作的吗?谢谢