Maison > interface Web > js tutoriel > le corps du texte

Compréhension approfondie de l'ordre d'exécution des connaissances javascript_Basic

WBOY
Libérer: 2016-05-16 16:53:24
original
985 Les gens l'ont consulté

Si vous ne pouvez pas comprendre le mécanisme de fonctionnement du langage JavaScript, ou en termes simples, vous ne pouvez pas maîtriser la séquence d'exécution de JavaScript, alors vous êtes comme Bole qui ne peut pas contrôler un cheval de mille milles et laisser le cheval de mille milles se libérer et courir partout.

Alors, comment JavaScript analyse-t-il ? Quel est son ordre d'exécution ? Avant de les comprendre, comprenons d’abord quelques termes importants :

1. Blocs de code
Les blocs de code en JavaScript font référence à des segments de code séparés par des balises <script> Par exemple : <br></p> <div class="codetitle"> <span><a style="CURSOR: pointer" data="50623" class="copybut" id="copybut50623" onclick="doCopy('code50623')"><u>Copier le code</u></a></span> Le code est le suivant :</div> <div class="codebody" id="code50623"> <br><script type=" text/javascript" ><br> alert("Ceci est le bloc de code un");<br></script>

JS est compilé et exécuté selon des blocs de code. Les blocs de code sont indépendants les uns des autres, mais les variables et les méthodes sont partagées. Qu'est-ce que cela signifie ? Par exemple, vous comprendrez :

Copier le code Le code est le suivant :



//js déclare les variables pendant la période de prétraitement, mais n'initialise ni n'attribue de valeurs, de sorte que les variables du bloc de code deux ne sont pas définies, tandis que les variables du code un le sont n'existe pas du tout, le navigateur signale donc une erreur.


Après avoir compris les termes ci-dessus, je pense que tout le monde a une idée générale du mécanisme de fonctionnement de JS. Regardons maintenant un exemple :



Copier le code.


Le code est le suivant :




Pourquoi le navigateur signale-t-il une erreur lors de l'exécution du code ci-dessus ? La fonction déclarée ne serait-elle pas traitée pendant la période de prétraitement ? Pourquoi la fonction Fn() n'est-elle pas trouvée ? En fait, c'est un malentendu.Nous avons dit plus haut que le moteur JS est exécuté séquentiellement selon des blocs de code. En fait, il doit être prétraité et exécuté selon des blocs de code, ce qui signifie que seul le code exécuté est prétraité. et les variables, et les blocs de code qui n'ont pas encore été chargés ne peuvent pas être prétraités. C'est également le cœur du traitement lors de la compilation.

Maintenant, résumons :

Copiez le code


Le code est le suivant :

Étape 6. Fin.


Selon l'ordre d'exécution du flux de documents HTML, le code js qui doit être exécuté avant le rendu de l'élément de page doit être placé dans le bloc de code <script> body>, et il doit être dans l'élément page. Le js chargé est placé derrière l'élément </body> et l'événement onload de la balise body est exécuté à la fin. <br><br><br><br><br>Copier le code</div> <br><br> Le code est le suivant :<div class="codetitle"> <span><a style="CURSOR: pointer" data="50219" class="copybut" id="copybut50219" onclick="doCopy('code50219')"><script type="text/javascript "> <u> alert("first");</u> function Fn(){</a> alert("third");</span> }</div></script>



Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal