Je commence tout juste à apprendre JS. Je comprends les variables de définition. Pourquoi laisser un non déclaré? Cela aide-t-il lors de la construction des instructions if/then?pourquoi laisser une variable non déclarée en javascript?
Répondre
oui il peut "aider lors de la construction des instructions if/then?" la valeur de undefined est false. si:
if (myVar)
signifie que si sa a obtenu une valeur vraie, sinon faux
mais de son mieux pour faire:
var myVar;
qui est encore faux ne déclarant peut donner une erreur dans un navigateur plus ancien Je ne suis pas sûr que ça arrive si vous avez déjà un "var i" global et puis essayez d'en utiliser un en boucle, je pense que ça va juste vous faire perdre le "je" global pour le nouveau.
'la valeur de undefined est faux'; _undefined_ est une falsification, mais 'undefined! == false' –
@PaulS. vrai (lol) mais ça marchera toujours pour un "if (undeclaredVariable)" –
Pourquoi laisser un non déclaré?
function foo() {
var i = 0; // local variable
j = 1; // global variable
}
foo();
i; // undefined
j; // 1
function bar() {
var k; // local variable
k = 2; // still local
}
bar();
k; // undefined
Si foo
est en mode "use strict"
, il provoquera une ReferenceError: j is not defined
à moins qu'un autre j
est défini plus haut dans la chaîne de portée, parce qu'il n'y avait pas var
pour le j
.
autant que je sache que vous ne pouvez pas déclarer une variable globale ** à l'intérieur ** un fonction et "j = 1" (si ce n'est pas une erreur) sera une variable locale –
@tryingToGetProgrammingStraight Si vous ne le croyez pas, essayez le code que j'ai posté ici, suivi d'une vérification pour voir s'il y a un 'j' global et un rapport: Je crois que le 'j;' en dehors de la fonction, comme dans mon exemple, est une preuve suffisante. –
Il est vrai que 'j' ne deviendra pas nécessairement global s'il y a un' var j' plus haut dans la portée mais pas globalement, cependant. –
- 1. Variable scalaire non déclarée
- 2. Test de variable non déclarée
- 3. Variable non détectée comme étant déclarée
- 4. javascript renvoie undefind pour une variable déclarée globalement
- 5. Passer une variable déclarée dans une vue à javascript
- 6. variable non déclarée en C alors qu'il a été déclaré
- 7. Référence à l'entité non déclarée 'nbsp' - pourquoi?
- 8. Portée de la variable JavaScript déclarée en ligne
- 9. Fonction non déclarée erreur
- 10. La variable déclarée mais non définie est vraie?
- 11. Variable Javascript non écrite
- 12. Variable Javascript non définie
- 13. Module JSLinting ES6: variable globale non déclarée (jQuery de CDN)
- 14. C++ "Variable non déclarée dans cette portée" - encore
- 15. Javascript Variable non disponible en fichier externe
- 16. Clojure: Détermine si une variable est déclarée
- 17. MK Annotation non déclarée
- 18. valeur nominale non déclarée en-tête
- 19. Variable non déclarée avant d'être utilisée avec DAO
- 20. erreur: fonction non déclarée
- 21. Fonction déclarée non appelée
- 22. erreur en utilisant une variable déclarée dans _AppStart VB
- 23. Variable déclarée dans l'en-tête non déclarée dans la portée de la classe
- 24. déclarée et non utilisé dans
- 25. Méthode déclarée en classe mais non définie
- 26. Classe non déclarée ?? (C++)
- 27. Utiliser une variable déclarée dans une instruction SELECT
- 28. Variable JavaScript erreur non définie?
- 29. Pourquoi le code Javascript imprime 'indéfini' même si la variable est déclarée globale?
- 30. pourquoi une variable dans une méthode statique doit être déclarée comme finale dans Java
Cela peut être un doublon: http://stackoverflow.com/questions/15985875/effect-of-declared-and-undeclared-variables – dbarnes