Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不调用自调用函数_Javascript_Timer_Settimeout - Fatal编程技术网

Javascript 不调用自调用函数

Javascript 不调用自调用函数,javascript,timer,settimeout,Javascript,Timer,Settimeout,我有个问题-我在页面上的计数器上写了一个小函数。不幸的是,假设该值在某个超时时增加1—什么也没有发生。我做错了什么 document.getElementById(“计数器”).innerHTML=Math.floor((Math.random()*1000)+1); 订阅服务器=函数(){ document.getElementById(“计数器”).innerHTML++; 设置超时(订户,300); } Chicken and edd:订阅者()调用自身,但您仍然需要第一次调用它 do

我有个问题-我在页面上的计数器上写了一个小函数。不幸的是,假设该值在某个超时时增加1—什么也没有发生。我做错了什么

document.getElementById(“计数器”).innerHTML=Math.floor((Math.random()*1000)+1);
订阅服务器=函数(){
document.getElementById(“计数器”).innerHTML++;
设置超时(订户,300);
}

Chicken and edd:
订阅者()调用自身,但您仍然需要第一次调用它

document.getElementById(“计数器”).innerHTML=Math.floor((Math.random()*1000)+1);
订阅服务器=函数(){
document.getElementById(“计数器”).innerHTML++;
设置超时(订户,1000);
}

订阅服务器();// 该函数的术语是“递归”函数,递归函数不会突然自动调用自己

如果确实希望在同一位置定义和调用它,则可以将其转换为立即调用的函数表达式(IIFE):

document.getElementById(“计数器”).innerHTML=Math.floor((Math.random()*1000)+1);
(功能订户(){
document.getElementById(“计数器”).innerHTML++;
设置超时(订户,300);
})();

您似乎没有在任何地方呼叫订户。是什么让你认为它是一个自调用函数?这不是一个自调用函数。这是一个分配给变量的函数,你需要执行subscribers()才能调用它。是的,该函数在哪里调用?该死,你好像比我快了2秒+1我正在删除我的:P@HyperNeutrino如果这能让你感觉好一点的话,在我在这里的8年里,我想这是我第一次‘赢得’a;P别担心,我并不难过,我来自PPCG,FGITWs在那里很常见,我已经习惯了xD@HyperNeutrino好极了!我一直在为
05AB1E
做贡献,但还不能用它来做任何有趣的事情。