Jshint.com donne l'erreur :
Ligne 36 : var signin_found ; Manque l'instruction "use strict".
Jshint.com donne l'erreur :
Ligne 36 : var signin_found ; Manque l'instruction "use strict".
Ajoutez "use strict" en haut de votre fichier js (à la ligne 1 de votre fichier .js) :
"use strict";
...
function initialize_page()
{
var signin_found;
/*Used to determine which page is loaded / reloaded*/
signin_found=document.getElementById('signin_button');
if(signin_found)
{
Pour en savoir plus sur "use strict", consultez une autre question posée ici sur stackoverflow :
Que fait "use strict" en JavaScript, et quel est le raisonnement qui le sous-tend ?
UPDATE.
Il y a quelque chose qui ne va pas avec jshint.com, il exige que vous mettiez "use strict" à l'intérieur de chaque fonction, mais il devrait être autorisé à le mettre globalement pour chaque fichier.
jshint.com pense que c'est faux.
"use strict";
function asd()
{
}
Mais il n'y a rien de mal à cela...
Il veut que vous mettiez "use strict" à chaque fonction :
function asd()
{
"use strict";
}
function blabla()
{
"use strict";
}
Ensuite, il est dit :
Bon travail ! JSHint n'a pas trouvé de problèmes avec votre code.
Mainteneur de JSHint ici.
JSHint - la version utilisée sur le site Web - vous oblige à utiliser le mode strict au niveau des fonctions dans votre code. Il est très facile de désactiver cette fonction, il suffit de décocher la case "Avertir lorsque le code n'est pas en mode strict" :
Pourquoi ne pas autoriser le mode strict global comme suggéré par @Czarek ? Parce que certains des fichiers JavaScript utilisés sur votre page peuvent ne pas être compatibles avec le mode strict et le mode strict global briserait ce code. Pour utiliser le mode strict global, il existe une option appelée globalstrict
.
J'espère que cela vous aidera !
Je pense que c'est parce que jshint essaie de nous "protéger" contre l'affectation accidentelle du mode strict à tout le fichier. Et aussi, il est bon d'envelopper le code avec une fonction anonyme, ou d'utiliser une sorte d'espace de noms.
Par exemple, les deux fonctionnent en mode strict :
(function() {
"use strict";
function foo() {
.....
}
function bar() {
.....
}
}());
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.