Heim  >  Artikel  >  Web-Frontend  >  Der Javascript-Timer ruft eine Methode auf, die Parameter übergibt

Der Javascript-Timer ruft eine Methode auf, die Parameter übergibt

yulia
yuliaOriginal
2018-09-08 16:58:061703Durchsuche

Javascript-Timer ruft die Methode zur Übergabe von Parametern auf. Freunde in Not können darauf verweisen.

Ob window.setTimeout oder window.setInterval, Sie können keine Parameter verwenden, wenn Sie den Funktionsnamen als aufrufendes Handle verwenden. In vielen Fällen müssen Sie Parameter verwenden, daher müssen Sie einen Weg finden, das Problem zu lösen .
Zum Beispiel für die Funktion hello(_name), die zum Anzeigen einer Willkommensnachricht für den Benutzernamen verwendet wird:

Kopieren Sie den Code wie folgt:

var userName="Tony"; 
//根据用户名显示欢迎信息 
function hello(_name){ 
alert("hello,"+_name); 
}

Zu diesem Zeitpunkt Wenn Sie versuchen, die Ausführung der Hallo-Funktion mit der folgenden Anweisung um 3 Sekunden zu verzögern, ist dies nicht möglich:
window.setTimeout(hello(userName),3000); Dadurch wird die Hallo-Funktion sofort ausgeführt und übergeben Sie den Rückgabewert als Aufrufhandle an die Funktion setTimeout. Das gewünschte Ergebnis kann mit der Zeichenfolgenform
window.setTimeout("hello(userName)" erreicht werden. 3000);
Die Zeichenfolge hier ist ein Stück JavaScript-Code, in dem userName eine Variable darstellt. Diese Schreibweise ist jedoch nicht intuitiv und in einigen Fällen müssen Funktionsnamen verwendet werden eine Funktion mit Parametern:

Kopieren Sie den Code wie folgt:

<script language="JavaScript" type="text/javascript"> 
<!-- 
var userName="jack"; 
//根据用户名显示欢迎信息 
function hello(_name){ 
alert("hello,"+_name); 
} 
//创建一个函数,用于返回一个无参数函数 
function _hello(_name){ 
return function(){ 
hello(_name); 
} 
} 
window.setTimeout(_hello(userName),3000); 
//此处也可以写为window.setTimeout( function(){return hello(userName)}, 3000); 
//就不用再定义function _hello() 
//--> 
</script>

Hier wird eine Funktion definiert. _hello wird verwendet, um einen Parameter zu empfangen und eine Funktion ohne Parameter zurückzugeben. Die Parameter der externen Funktion werden verwendet Innerhalb dieser Funktion, sodass sie ohne Verwendung von Parametern aufgerufen wird, verwenden Sie _hello (Benutzername), um ein Funktionshandle ohne Parameter zurückzugeben und so die Funktion der Parameterübergabe zu realisieren

Das obige ist der detaillierte Inhalt vonDer Javascript-Timer ruft eine Methode auf, die Parameter übergibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn