JSLint se plaint que le code suivant (exemple inutile) n'est pas valide:
(function (x) {
"use strict";
if (x === 1) {
return 1;
} else if (x === 2) {
return -1;
}
return 0;
}(1));
Erreur: Problème à la ligne 4, caractère 9: Inattendu, "après", "après".
retourne 1;
Cela suggère-t-il sérieusement qu'il est mauvais d'utiliser des instructions return dans une structure if / else?
Je pense que cette version est correcte:
(function (x) {
"use strict";
var returnval = 0;
if (x === 1) {
returnval = 1;
} else if (x === 2) {
returnval = -1;
}
return returnval;
}(1));