|
Microsoft® JScript™ Dépannage de vos scripts |
Didacticiel Jscript Précédent | Suivant |
Tout langage de programmation comporte des pièges dans lesquels vous pouvez tomber si vous n'êtes pas prudent et vous réserve également ses propres surprises. Prenez, par exemple, la valeur null : celle de Microsoft JScript a un comportement différent de la valeur null des langages C ou C++.Faites attention aux points suivants lorsque vous écrivez des scripts JScript.
La syntaxe étant beaucoup plus rigide en langage de programmation qu'en langage naturel, il convient de prêter une grande attention aux détails quand vous rédigez des scripts. Par exemple, si vous souhaitez qu'un certain paramètre soit une chaîne, vous aurez des problèmes si vous oubliez de le mettre entre guillemets.
L'interprétation de JScript fait partie du processus d'analyse HTML du navigateur de Web. Par exemple, si vous placez un script à l'intérieur de la balise <HEAD> dans un document, il sera interprété avant un script de la balise <BODY>. Si certains objets sont créés dans la balise <BODY>, ils n'existent pas au moment où <HEAD> est analysé et ne peuvent être gérés par le script.
JScript est un langage de contrainte automatique. Par conséquent, en dépit du fait que des valeurs ayant des types différents ne sont pas égales, les expressions de l'exemple suivant retournent la valeur true."100" == 100 false == 0
Le moment d'exécution d'une opération particulière au cours de l'évaluation d'une expression dépend plus de la priorité des opérateurs que de l'emplacement de l'expression. Par conséquent, dans l'exemple suivant, la multiplication s'effectue avant la soustraction, bien que la soustraction figure plus tôt dans l'expression.leRayon = unPointerimetre - lePointCentral * leFacteurCorrection;
Lorsque vous parcourez les propriétés d'un objet au moyen d'une boucle for...in, vous ne pouvez pas nécessairement prédire ni contrôler l'ordre dans lequel les champs de l'objet sont attribués à la variable du compteur de boucle. En outre, l'ordre peut différer en fonction des implémentations du langage.
L'instruction with permet de recourir à des propriétés qui existent déjà dans un objet spécifié mais ne peut servir à ajouter des propriétés à un objet. Pour créer de nouvelles propriétés dans un objet, vous devez faire spécifiquement référence à cet objet.
Même si vous utilisez le mot clé this à l'intérieur de la définition d'un objet lorsque vous faites référence à l'objet lui-même, vous ne pouvez généralement pas utiliser this ou des mots clés similaires pour faire référence à la fonction en cours d'exécution si cette dernière n'est pas une définition d'objet. Si la fonction doit être attribuée à un objet comme une méthode, vous pouvez utiliser le mot clé this à l'intérieur de la fonction pour faire référence à l'objet.
La balise </SCRIPT> termine le script en cours si l'interpréteur le trouve. Pour afficher "</SCRIPT>" lui-même, réécrivez-le en deux chaînes minimum, par exemple "</SCR" et "IPT>", que vous pouvez concaténer dans l'instruction qui les écrit.
Plusieurs fenêtres pouvant être ouvertes simultanément, toute référence de fenêtre implicite est utilisée pour désigner la fenêtre actuelle. Pour les autres fenêtres, vous devez établir une référence explicite.