Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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 can';无法使setInterval在给定上下文中工作_Javascript_Object_Setinterval - Fatal编程技术网

Javascript can';无法使setInterval在给定上下文中工作

Javascript can';无法使setInterval在给定上下文中工作,javascript,object,setinterval,Javascript,Object,Setinterval,我尝试过无数种不同的方法,花了太多的时间试图解决一些可能过于简单的问题。由于某些原因,我无法使下面的setInterval调用正常工作。它只调用一次,但不是每1000毫秒调用一次。关于为什么没有每隔1秒(1000毫秒)调用此警报,请提供一些信息 功能用户(h){ this.userHunger=h; this.userAction='Move'; this.start=函数(){ 这个.hungerClockStart(); }; this.hungerClockStart=函数(){ //s

我尝试过无数种不同的方法,花了太多的时间试图解决一些可能过于简单的问题。由于某些原因,我无法使下面的setInterval调用正常工作。它只调用一次,但不是每1000毫秒调用一次。关于为什么没有每隔1秒(1000毫秒)调用此警报,请提供一些信息


功能用户(h){
this.userHunger=h;
this.userAction='Move';
this.start=函数(){
这个.hungerClockStart();
};
this.hungerClockStart=函数(){
//setInterval(this.updateHungerScreen(),1000);
this.hungerClock=(设置间隔(警报(1),1000));
};
};
var user1=新用户(100);
函数displayUserHunger(u){
u、 start();
}
显示用户的饥饿感:
开始
setInterval
获取函数对象:

如果要传递参数,需要使用额外的匿名函数:

this.hungerClock = setInterval(function(){ alert(1) }, 1000);

setInterval
获取函数对象:

如果要传递参数,需要使用额外的匿名函数:

this.hungerClock = setInterval(function(){ alert(1) }, 1000);
比如:

setInterval(this.updateHungerScreen(),1000);
表示您可能使用了错误的
setInterval

这里发生的事情是,
this.updateHungerScreen()
返回值将作为函数调用。所以你可能想要这个:

setInterval(this.updateHungerScreen,1000);
this.updateHungerScreen(无括号!)是您要调用的函数


类似地,
setInterval(警报(1),1000)
相当于
警报(1);设置间隔(空,1000)

您可能想要:

setInterval(function () {
    alert(1); // will get called every 1000ms
},1000);
比如:

setInterval(this.updateHungerScreen(),1000);
表示您可能使用了错误的
setInterval

这里发生的事情是,
this.updateHungerScreen()
返回值将作为函数调用。所以你可能想要这个:

setInterval(this.updateHungerScreen,1000);
this.updateHungerScreen(无括号!)是您要调用的函数


类似地,
setInterval(警报(1),1000)
相当于
警报(1);设置间隔(空,1000)

您可能想要:

setInterval(function () {
    alert(1); // will get called every 1000ms
},1000);