Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

Résolution des problèmes liés à vos scripts (JavaScript)

 

Dans tous les langages de programmation, certains éléments peuvent réserver des surprises.  Par exemple, la valeur null dans JavaScript ne se comporte pas de la même manière que la valeur Null dans les langages C ou C++.  

Voici quelques problèmes auxquels vous pouvez être confronté lorsque vous écrivez des scripts JavaScript.

Il est important de prêter attention aux détails lorsque vous écrivez des scripts.  Par exemple, les chaînes doivent être placées entre guillemets.  

L'interprétation JavaScript fait partie du processus d'analyse du code HTML de votre navigateur Web.  Dans un document, si vous placez un script dans la balise <HEAD>, il est interprété avant toute partie de la balise <BODY>.  Si vous avez des objets créés dans la balise <BODY>, ils n'existent pas au moment de l'analyse de <HEAD> et ne peuvent pas être manipulés par le script.  

System_CAPS_noteRemarque

Ce comportement est spécifique à Internet Explorer.  ASP et WSH ont des modèles d'exécution différents (comme c'est le cas pour d'autres hôtes).  

JavaScript est un langage faiblement typé avec contrainte automatique.  Bien que les valeurs ayant des types différents ne soient pas égales, les expressions dans l'exemple suivant ont la valeur True.  

"100" == 100;
false == 0;

Pour vérifier si le type et la valeur sont identiques, utilisez l'opérateur d'égalité stricte (===).  Les deux expressions suivantes renvoient toutes deux False :  

"100" === 100;
false === 0;

La priorité des opérateurs détermine si une opération est effectuée pendant l'évaluation d'une expression.  Dans l'exemple suivant, la multiplication est effectuée avant la soustraction, même si la soustraction apparaît en premier dans l'expression.  

theRadius = aPerimeterPoint - theCenterpoint * theCorrectionFactor;

Lorsque vous itérez au sein des propriétés d'un objet au moyen d'une boucle for…in, vous ne pouvez pas toujours prédire ou contrôler l'ordre dans lequel les champs de l'objet sont assignés à la variable compteur de la boucle.  En outre, l'ordre peut différer en fonction des implémentations du langage.  

L'instruction with permet d'accéder aux propriétés qui existent déjà dans un objet spécifié, mais ne peut pas servir à ajouter des propriétés à un objet.  Pour créer des propriétés dans un objet, vous devez faire spécifiquement référence à cet objet.  

Même si le mot clé this existe à l'intérieur de la définition d'un objet pour faire référence à l'objet proprement dit, vous ne pouvez 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 assignée à un objet en tant que 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 la rencontre.  Pour afficher « </SCRIPT> » à proprement parler, réécrivez-le en deux chaînes au minimum, par exemple « </SCR » et « IPT> », que vous pouvez ensuite concaténer dans l'instruction qui les écrit.  

Dans la mesure où plusieurs fenêtres peuvent être ouvertes simultanément, toute référence de fenêtre implicite désigne la fenêtre active.  Pour les autres fenêtres, vous devez utiliser une référence explicite.  

Afficher: