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:
<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>
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!