永发信息网

settimeout和setInterval为什么连续调就不准了

答案:4  悬赏:60  手机版
解决时间 2021-03-29 01:01
  • 提问者网友:孤山下
  • 2021-03-28 13:57
settimeout和setInterval为什么连续调就不准了
最佳答案
  • 五星知识达人网友:詩光轨車
  • 2021-03-28 15:20
每点一次就新建了一个计时对象。点的次数越多,计时的对象就越多,同一时间执行累加的次数就越多,所以就飞快了。

set time out意思是设置时间
set Interval意思是 设置间隔
1 Set time out for Grabber to grab a link.
设置抓握连结的限定时间。
2 If you set aside some time out of your busy week to do these things, you will feel good, and when you feel good, you feel more confident.
而且当你感觉良好的时候,你就会更加自信。
3 In cases where the requirements team actually finds a sufficient set before the time runs out, they invariably go on to invent more requirements rather than declare the task complete.
如果在时间运行完之前需求团队确实找到了足够充分的集合,在这种情况下,他们总是继续发明更多的需求而不是声明任务已经完成。
4 The method is signaled when the object is set to signal or the time out interval is finished.
当对象被设置发出信号或者超时时间段结束时,这个方法会得到通知。
5 The WinForms Timer class allows the user to perform a particular action at a set interval.
Windows窗体的时间(Timer)类允许用户在一个时间段内执行特定的操作。
全部回答
  • 1楼网友:人類模型
  • 2021-03-28 19:35
贴代码来看看
  • 2楼网友:往事隔山水
  • 2021-03-28 17:56
ascript">
function text(){
this.aa="aaaa";
this.aa="adfadf";
window.obj = this;
this.showMsg=msg;
function msg(){
alert(obj.aa);
setTimeout("obj.showMsg()",1000);
}
}
var text1=new text;
text1.showMsg(text1);

其实出现这个错误是系统运行setTimeout("msg()",1000); 后,过了一秒钟会执行msg()这一条语句.很明显你没有msg函数,所以出错.解决的方法是调用类的方法而不是直接使用msg(),这样系统会找不到对象.
但如果将setTimeout("msg()",1000); 写成setTimeout("this.msg()",1000);也会出错.因为执行this.msg()时,系统不会把this当作你初始化的类,而是把它当作window这个对象.很显然,你没有访问到text1.
为了解决这个问题,我把obj属性加入到windows,obj的值就指向text1,我觉得这一句不错,至少移植性很好.之后就直接用obj访问你的类了.
另外,虚机团上产品团购,超级便宜
  • 3楼网友:我住北渡口
  • 2021-03-28 16:20
我猜的话是因为你每点一次就新建了一个计时对象。你点的次数越多,计时的对象就越多,同一时间执行累加的次数就越多,所以就飞快了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯