Bonnes pratiques javascript

Extrait du cours bonnes pratiques javascript

Il y a 10 ans c’était une technique valable, plus maintenant. Un navigateur qui affiche le code javascript au lieu de l’exécuter ou de l’ignorer est buggé. De nos jours il faut placer les scripts dans un seul ou plusieurs fichiers externes inclus à la page avec la balise <script> comme on l’a vu au-dessus, ce qui contourne le problème des commentaires et permet de profiter du cache du navigateur.
De plus, la très grande incompréhension du XHTML1.0, du XHTML1.1, des doctypes et du type mime consacré aux pages XHTML rend toute tentative de «camouflage» bancale puisqu’une mauvaise utilisation des commentaires peut facilement rendre le code et/ou la page invalide (au sens du validateur W3C).
Pour être clair, s ‘il faut mettre du code javascript directement dans le (x)HTML :
HTML 4+ : pas de commentaires,
XHTML 1.0 strict : envoyé avec le type mime application/xhtml+xml il faut placer le code javascript dans une balise <![CDATA[ ]]> pour que le code javascript contenant des « < » soit ignoré par le parseur.
XHTML 1.0 : avec le type mime text/html c’est ridicule. Il vaut mieux utiliser HTML 4.
Bannir eval()
L’utilisation de eval() est à éviter absolument. Cette fonction démarre le compilateur javascript, ça mange de la mémoire et c’est lent à démarrer. Les performances sont donc mauvaises. De plus, le code contenu dans eval() ne peut pas être optimisé par le compilateur JS.
Quelques détails sur la sécurité : le script évalué (potentiellement malsain «Never trust user input») est exécuté avec les mêmes privilèges que le script où se trouve l’appel à la fonction eval(). Par exemple pour les extensions Firefox, qui ont accès à des méthodes spéciales du navigateur pour gérer les favoris et d’autres préférences, si on utilise eval() dans cette extension alors le code contenu dans eval() peut potentiellement utiliser les mêmes méthodes spéciales !
Pour ceux qui parsent encore leur JSON avec eval(), il est temps de passer à une vraie librairie : json2.js. Pour la petite histoires l’objet natif JSON — utilisé pour le parser — de IE8 est basé sur ce script précisément. Le plus merveilleux c’est que l’API est consistante sur IE8, FF et WebKit ! (Opera traîne). Cette librairie utilise l’objet natif s ‘il est présent et évalue le script d’une façon sécurisée dans le cas contraire. Une présentation sommaire de l’API
…….

Sommaire: Bonnes pratiques javascript

Bonnes pratiques javascript
Lire aussi
Bonnes pratiques javascript
Où placer son code javascript ?
Commentaires HTML et code javascript
Bannir eval()
Attention à setTimeout() et setInterval()
La balise <a> et le préfixe javascript:
Proscrire document.write()
Utiliser innerHTML ?
with()… out!
Règles de syntaxe
La notation « littérale »
Toujours utiliser var
(petit) Récapitulatif
Partager

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Bonnes pratiques javascript (236 KO) (Cours PDF)

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *