Table des matières
My Heading 1
Maison interface Web js tutoriel setInterval()和setTimeout()的用法和区别示例介绍_基础知识

setInterval()和setTimeout()的用法和区别示例介绍_基础知识

May 16, 2016 pm 05:14 PM
setinterval settimeout

1. setInterval() 用法_学习
复制代码 代码如下:

//每隔一秒自动执行方法
var c=0;
function showLogin()
{
alert(c++);
}
//setInterval方法或字符串 ,毫秒,参数数组(方法的))
setInterval("showLogin()","1000");

2.setTimeout

setTimeout()在js类中的使用方法
setTimeout (表达式,延时时间)
setTimeout(表达式,交互时间)
延时时间/交互时间是以豪秒为单位的(1000ms=1s)setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次setTimeout 在执行时,它从载入后,每隔指定的时间就执行一次表达式
1,基本用法:
执行一段代码:
var i=0;
setTimeout("i+=1;alert(i)",1000);
执行一个函数:
var i=0;
setTimeout(function(){i+=1;alert(i);},1000);

//注意比较上面的两种方法的不同。
下面再来一个执行函数的:
复制代码 代码如下:

var i=0;
function test(){
i+=1;
alert(i);
}
setTimeout("test()",1000);

也可以这样:
setTimeout(test,1000);
总结:
setTimeout的原型是这样的:
iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])

setTimeout有两种形式
setTimeout(code,interval)
setTimeout(func,interval,args)
其中code是一个字符串
func是一个函数.
注意"函数"的意义,是一个表达式,而不是一个语句.
比如你想周期性执行一个函数
function a(){
//...
}
可写为
setTimeout("a()",1000)

setTimeout(a,1000)
这里注意第二种形式中,是a,不要写成a(),切记!!!
展开来说,不管你这里写的是什么,如果是一个变量,一定是一个指向某函数的变量;如果是个函数,那它的返回值就 要是个函数
2,用setTimeout实现setInterval的功能(每隔一段时间自动执行函数)
思路很简单,就是在一个函数中调用不停执行自己,有点像递归
复制代码 代码如下:

var i=0;
function xilou(){
i+=1;
if(i>10){alert(i);return;}
setTimeout("xilou()",1000);
//用这个也可以
//setTimeout(xilou,1000);
}

3,在类中使用setTimeout
终于到正题了,其实在类中使用大家遇到的问题都是关于this的,只要解决了这个this的问题就万事无忧了。
呵呵。让我们来分析一下:
复制代码 代码如下:

function xilou(){
this.name="xilou";
this.sex="男";
this.num=0;
}
xilou.prototype.count=function(){
this.num+=1;
alert(this.num);
if(this.num>10){return;}
//下面用四种方法测试,一个一个轮流测试。
setTimeout("this.count()",1000);//A:当下面的x.count()调用时会发生错误:对象不支持此属性或方法。
setTimeout("count()",1000);//B:错误显示:缺少对象
setTimeout(count,1000);//C:错误显示:'count'未定义
//下面是第四种
var self=this;
setTimeout(function(){self.count();},1000);//D:正确

}

var x=new xilou();
x.count();

错误分析:
A:中的this其实指是window对象,并不是指当前实例对象
B:和C:中的count()和count其实指的是单独的一个名为count()的函数,但也可以是window.count(),因为window.count()可以省略为count()
D:将变量self指向当前实例对象,这样js解析引擎就不会混肴this指的是谁了。

话说回来,虽然我们知道setTimeout("this.count()",1000)中的this指的是window对象,但还是不明白为什么会是
window对象^_^(有点头晕...)
那我们可以想象一下这个setTimeout是怎样被定义的:
setTimeout是window的一个方法,全称是这样的:window.setTimeout()
那应该是这样被定义的:
window.setTimeout=function(vCode, iMilliSeconds [, sLanguage]){
//.....代码
return timer//返回一个标记符
}
所以当向setTimeout()传入this的时候,当然指的是它所属的当前对象window了。

简单实例:
复制代码 代码如下:





My Heading 1





<script> <BR>var i=1; <br><br>function clickButton(){ <BR>document.getElementById("click").click(); <BR>i++; <br><br>} <BR>setInterval("clickButton()","1000"); <BR>//setTimeout("clickButton()",1000); <BR>//setTimeout(clickButton,1000); <BR>function change(){ <BR>if(i%2==1) <BR>document.getElementById('id1').style.color='red'; <BR>else <BR>document.getElementById('id1').style.color='black'; <br><br>} <br><br></script>

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est la différence entre settimeout et setinterval Quelle est la différence entre settimeout et setinterval Aug 15, 2023 pm 02:06 PM

La différence entre settimeout et setInterval : 1. Temps de déclenchement, settimeout est unique, il exécute la fonction une fois après avoir défini le temps de retard, tandis que setinterval est répétitif, il exécutera la fonction à plusieurs reprises à l'intervalle de temps défini ; , settimeout n'est exécuté qu'une seule fois et setinterval sera exécuté à plusieurs reprises jusqu'à son annulation.

Comment utiliser la fonction setInterval pour exécuter du code régulièrement ? Comment utiliser la fonction setInterval pour exécuter du code régulièrement ? Nov 18, 2023 pm 05:00 PM

Comment utiliser la fonction setInterval pour exécuter du code régulièrement ? En JavaScript, la fonction setInterval est une fonction très utile, qui permet d'exécuter un morceau de code régulièrement. Grâce à la fonction setInterval, nous pouvons exécuter à plusieurs reprises le code spécifié dans un intervalle de temps spécifique. Cet article présentera en détail comment utiliser la fonction setInterval et fournira des exemples de code spécifiques. 1. La syntaxe de base de la fonction setInterval est la suivante : setInterv

Comment arrêter setInterval Comment arrêter setInterval Dec 11, 2023 am 11:39 AM

Vous pouvez utiliser la fonction clearInterval pour arrêter une minuterie créée par la fonction setInterval. La fonction setInterval renvoie un ID de minuterie unique, qui peut être transmis en tant que paramètre à la fonction clearInterval pour arrêter l'exécution de la minuterie.

Comment utiliser la méthode Window.setInterval() Comment utiliser la méthode Window.setInterval() Aug 31, 2023 am 09:33 AM

La syntaxe de base de la méthode Window.setInterval() est "window.setInterval(function, delay)", la fonction est la fonction ou le bloc de code à exécuter à plusieurs reprises, et le délai est l'intervalle de temps entre chaque exécution, en millisecondes. Cette méthode est une méthode en JavaScript utilisée pour exécuter à plusieurs reprises une fonction ou un code spécifié à une heure planifiée. Son utilisation est très simple. Il vous suffit de transmettre la fonction ou le bloc de code à exécuter et l'intervalle de temps pour une exécution répétée.

définirIntervalle définirIntervalle Aug 02, 2023 am 10:17 AM

La fonction setInterval est une fonction de minuterie en JavaScript qui vous permet de définir un intervalle et d'exécuter du code spécifié après chaque intervalle. Elle est très utile lorsque certaines tâches doivent être traitées régulièrement ou que les éléments de la page sont mis à jour en temps réel. lors de l'utilisation de setInterval, problèmes de performances et de fiabilité et optimisation si nécessaire.

Quelle est la différence entre setTimeout() et setInterval() en JavaScript ? Quelle est la différence entre setTimeout() et setInterval() en JavaScript ? Sep 01, 2023 pm 03:01 PM

setTimeout(function,duration) - Cette fonction appelle la fonction après une durée de quelques millisecondes. Cela fonctionne pour une seule exécution. Voyons un exemple - il attend 2000 millisecondes puis exécute la fonction de rappel alert('Hello') - setTimeout(function(){alert('Hello');},2000); setInterval(function,uration) - cette fonction is La fonction est appelée toutes les millisecondes de durée. Cela peut être fait un nombre illimité de fois. Voyons un exemple - il déclenche une alarme toutes les 2000 ms

Explication détaillée de l'utilisation de setinterval Explication détaillée de l'utilisation de setinterval Sep 12, 2023 am 09:55 AM

L'utilisation de setinterval est "setInterval(function, delay);", "function" est la fonction à exécuter, qui peut être une expression de fonction ou une référence de fonction, et "delay" est l'intervalle de temps entre l'exécution des fonctions, en millisecondes. setInterval est une fonction en JavaScript utilisée pour exécuter du code périodiquement. Elle accepte une fonction et un intervalle de temps comme paramètres et exécutera la fonction à plusieurs reprises en fonction de l'intervalle de temps spécifié.

Utilisez la fonction clearTimeout en JavaScript pour annuler le minuteur setTimeout Utilisez la fonction clearTimeout en JavaScript pour annuler le minuteur setTimeout Nov 18, 2023 am 08:05 AM

Pour utiliser la fonction clearTimeout en JavaScript pour annuler le minuteur setTimeout, vous avez besoin d'exemples de code spécifiques. En JavaScript, la fonction setTimeout est utilisée pour exécuter un code spécifique après un délai spécifié. La fonction setInterval est utilisée pour exécuter à plusieurs reprises un code spécifique dans un intervalle de temps spécifié. Cependant, dans certains cas, nous devrons peut-être annuler le minuteur avant son exécution. Dans ce cas, vous pouvez utiliser c

See all articles