Maison > interface Web > js tutoriel > L'ordre d'analyse et d'exécution de Javascript est différent selon les compétences de browsers_javascript

L'ordre d'analyse et d'exécution de Javascript est différent selon les compétences de browsers_javascript

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

Introduction

Javascript est un langage interprété et son exécution est descendante. Cependant, chaque navigateur a une compréhension légèrement différente du « top-down », et l'amont et l'aval du code, c'est-à-dire le déroulement du programme, sont cruciaux pour le bon fonctionnement du programme. Nous devons donc comprendre en profondeur l’ordre d’exécution de js. À cette fin, j'ai conçu les huit expériences suivantes pour obtenir les résultats les plus précis.

Expérience

Copier le code Le code est le suivant :

< script type= "text/javascript">
//Expérience 1 :
fonction t(a)
{
alert("[t(a)]a:" }
fonction t(a, b)
{
alert("[t(a, b)]a:" a ", b:" b);
}
t); (1) ;
//Résultat :
//[t(a, b)]a:1, b:undefined

//Expérience 2 :
fonction t(a, b)
{
alert("[t(a, b)]a:" a ", b:" b);
}
fonction t(a)
{
alert( "[t(a)]a:" a);
}
t(1);
//Résultat :
//[t(a)]a:1

//Expérience 3 :
fonction t(a)
{
alert("[t(a)]a:"
}
fonction t( a, b )
{
alert("[t(a, b)]a:" a ", b:" b);
t(1, 2); >// Résultat :
//[t(a, b)]a:1, b:2

//Expérience 4 :
fonction t(a, b)
{
alert("[t(a, b)]a:" a ", b:" b);
}
fonction t(a)
{
alert("[t (a) ]a:" a);
}
t(1, 2);
//Résultat :
//[t(a)]a:1

// Expérience 5
fonction t(a)
{
alert("[t(a)]a:"
}
t(1); function t( a, b)
{
alert("[t(a, b)]a:" a ", b:" b); >// [t(a, b)]a:1, b:undefined

//Expérience 6
fonction t(a)
{
alert("[t(a )]a :" a);
}
t(1, 2);
fonction t(a, b)
{
alert("[t(a, b)] a:"a", b:"b);
}
//Résultat :
//[t(a, b)]a:1, b:2

/ /Expérience 7
fonction t(a, b)
{
alert("[t(a, b)]a:" a ", b:" b);
}
t(1 );
fonction t(a)
{
alert("[t(a)]a:"
}
//Résultat :
/ /[t (a)]a:1

//Expérience 8
fonction t(a, b)
{
alert("[t(a, b)]a: " a " , b:" b);
}
t(1, 2);
fonction t(a)
{
alert("[t(a)]a: " a) ;
}
//Résultat :
//[t(a)]a:1




Post-scriptum

Lors de la définition d'une fonction JavaScript, le nom de la fonction est l'identifiant de l'objet fonction, et le nombre de paramètres n'est qu'un attribut de la fonction. Il n'est pas possible d'implémenter une surcharge en définissant des fonctions avec un nombre de paramètres différent.
Lors de l'appel d'une fonction, js trouve l'objet fonction correspondant via le nom de la fonction, puis fait correspondre la liste des paramètres d'expression dans l'ordre en fonction des paramètres lorsque la fonction est définie. Les paramètres redondants sont ignorés et les paramètres insuffisants sont traités. comme indéfini, puis la fonction est exécutée du code.

Ainsi, lors de la définition d'une fonction, les paramètres requis sont généralement placés au début de la liste des paramètres, et les paramètres facultatifs sont placés après les paramètres requis.

Notes

1. Les résultats des huit expériences ci-dessus sont obtenus via le navigateur 360 (version/noyau : 6.3.1.142/21.0.1180.89) et le navigateur Firefox (version : 27.0.1). est obtenu en courant.
2. Les huit expériences ci-dessus sont indépendantes les unes des autres. Veuillez les exécuter séparément pour obtenir des résultats corrects.
Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal