utiliser JSLint
UNE SEULE variable globale qui sert de NameSpace, cf variable YAHOO
verifier les ';' en fin d'instruction
NE PAS UTILISER typeof car fonctionne mal
NE PAS UTILISER with et eval
phony arrays --> LENT mais puissant car totalement dynamique
NE PAS UTILISER '==' and '!=' : UTILISER '===' et '!=='
| test | ASIS | TOBE |
|---|---|---|
| '' == '0' | false | false |
| 0 == '' | true | false |
| 0 =='0' | true | false |
| false == 'false' | false | false |
| false == '0' | true | false |
| false == undefined | false | false |
| false == null | false | false |
| null == undefined | true | false |
| " \t\r\n " == 0 | true | false |
ATTENTION A BIEN CHOISIR false, null, undefined, Nan
exemple : test de presence d'une propriete :
value = myObject[name];
if (value == null) {
alert(name+' not found');
}
bonne version :
value = myObject[name];
if (value === undefined) {
alert(name+' not found');
}