Ich denke, es muss eine einfache Frage sein, aber ich habe gesucht und habe die Antwort nirgendwo gefunden.Wann werden JavaScript-Funktionen ausgeführt
Die denken, ist, dass ich eine HTML-Seite mit einigen Skripten haben (im Körper) wie diese:
<script type="text/javascript">grf();</script>
GRF() Funktion in einer externen JS-Datei definiert ist. Die Frage ist: Wird diese Funktion ausgeführt, nachdem der Browser die Seite AND alle externen js-Dateien geladen hat? Oder kann es sein, dass die Funktion ausgeführt wird, bevor die .js-Dateien geladen werden? Und wenn ja, wie kann ich das verhindern?
Vielen Dank für die Beantwortung der ersten Frage, wann die Funktionen ausgeführt werden . Für die zweite Frage scheinen die meisten von Ihnen der Meinung zu sein, dass die beste Option jQuery ist. Allerdings habe ich mich gefragt, ob es möglich ist zu wissen, ob eine Funktion definiert (geladen) ist oder nicht. Zum Beispiel kann ich so etwas tun, um sicherzustellen, dass ein Element geladen wurde: function ff() {if (! Document.getElementById ('elem')) setTimeout ('ff()', 250); // Von hier aus kann ich 'elem'} verwenden. Aber gibt es eine Möglichkeit zu wissen, ob eine Funktion definiert ist? – Victor
@victor - Test mit: if (typeof (funktionName)! = 'Undefiniert') {// function exists} – x0n
Wenn Sie keine libs verwenden und Code ausführen möchten, der das DOM verwendet, ist die zuverlässigste Methode das Hinzufügen Ihr Skript-Tag nach dem Tag "close body" anstelle des verwendeten Abfragemechanismus. –