10 votes

Impossible de remplir le tableau appelé `status`.

J'essaie de faire quelque chose de très simple - initialiser un tableau en Javascript. Et cela ne fonctionne pas dans Google Chrome. Voici le code :

status = [];
for(i=0; i < 8; i++)
  status[i]=false;

alert(status.length); //It says 0 when it should say 8

Qu'est-ce qui se passe ?

14voto

CMS Points 315406

L'affectation de votre status entre en conflit avec la variable window.status propriété.

Chrome refuse tout simplement de faire la mission.

Le site window.status définit ou obtient le texte de la barre d'état au bas du navigateur.

Je vous recommande de renommer votre variable ou d'utiliser une fonction anonyme pour créer un nouveau champ d'application. toujours utiliser var pour déclarer les variables :

(function () {
  var status = [];

  for (var i = 0; i < 8; i++)
    status[i] = false;

  alert(status.length);
})();

8voto

Chubas Points 8670

Changez le nom de la variable. On dirait que le statut est une propriété de la fenêtre et Chrome le rend inmutable . Je ne m'y attendais pas non plus.

6voto

epascarello Points 71353

Le problème ici est de savoir ce que status est attaché à. Vous l'utilisez en dehors de la portée globale/de la fenêtre.

Au bon vieux temps, nous pouvions définir le texte de la barre d'état. Pour ce faire, il fallait définir window.status à une valeur de type chaîne. Ainsi, vous ne définissez PAS une variable, mais vous modifiez la chaîne de caractères de la barre d'état du navigateur.

Prograide.com

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.

Powered by:

X