JavaScript si var n'existe
Je veux que mon code de façon à ce que si une var existe, il va effectuer une action, sinon elle sera ignorée et se déplacer le long. Le problème avec mon code, si le var n'existe pas, il provoque une erreur, sans doute en ignorant le reste du code JavaScript.
Exemple
var YouTube=EpicKris;
if ((typeof YouTube) != 'undefined' && YouTube != null) {
document.write('YouTube:' + YouTube);
};
double possible de la Détection d'une non défini propriété de l'objet en JavaScript
OriginalL'auteur Kristian Matthews | 2011-12-15
Vous devez vous connecter pour publier un commentaire.
Serait de travailler lors de YouTube n'est pas null, undefined, 0 ou "".
Cela fonctionne pour vous?
Ups, ignorer ma réponse, est buggé, gurung est mieux!
Eh bien, je l'ai réparé avec gurung de réponse. Maintenant, il va exécuter le code tant que YouTube existe pas et n'est pas null, 0, ou une chaîne vide. Est-ce répondre à travailler pour vous?
Partiellement, mais je suis à la recherche d'un simple morceau de code qui fait cela, mais il fonctionne également si var YouTube=EpicKris; n'existe pas.
Si la variable EpicKris n'existe pas? il devrait fonctionner. Juste faire de l'affectation à l'intérieur du bloc try/catch.
OriginalL'auteur Chango
C'est un classique.
L'utilisation de la "fenêtre" qualificatif pour le cross navigateur vérifie sur des variables non définies et ne se cassera pas.
OU pour le noyau dur des inconditionnels à partir de la galerie d'arachide...
Oui, je l'ai aussi mentionné, en faisant tout objet qualifier en tant que root disons que vous avez un objet "quelque chose = {}", puis vous vérifiez si "quelque chose.x" qui ne pas vomir. J'ai dû le faire lors de l'écriture de bootstrap plugins comme la fenêtre.myThing = fenêtre.myThing || {}; etc etc. C'est à dire est la véritable raison de ce que IE est retardée, même à v9.
Donc, si var YouTube=EpicKris; n'existait pas, alors pas d'erreurs doit se produire et le reste du code JavaScript doit exécuter?
C'est la vérification de l'existence de "YouTube" la vie de l'objet window. Si elle existe, elle va faire le code à l'intérieur en supposant que la variable n'est pas 0 ou false ou null ou undefined ou une autre falsy valeur.
+1 j'utilise cette méthode fréquemment lors de la vérification de l'existence et de la non-falsey valeur d'une variable globale. Il fonctionne dans tous les navigateurs si la variable que vous faites des tests pour la planète.
OriginalL'auteur Jason Sebring
Code:
Travaillé sur la meilleure méthode pour ce faire, utilisez typeof pour vérifier si la var existe. Cela a fonctionné parfaitement pour moi.
OriginalL'auteur Kristian Matthews
Que sur l'utilisation de
try/catch
:Voir ceci: jsfiddle.net/BGurung/deRvV/3
Cette approche fonctionne partout, mais le son est l'équivalent de dire "je ne sais pas comment cela fonctionne donc je vais mettre le code dans certains là-bas". Cela devrait être fait quand vous savez que quelque chose peut échouer en fonction de l'utilisateur ou d'un réseau ou quelque chose en dehors de votre contrôle dans la plupart des cas. Généralement pas des choses que vous comprenez pourquoi ils se cassent et sont sous votre contrôle.
Ah, je pensais que l'OP voulais savoir je comment la mettre en œuvre. Et je suppose qu'il savait qu'un
try/catch
était censé faire. Mais Merci pour l'explication, c'est génial. Je suis assez sûr que ça va aider les OP à comprendre ce qu'il se passe (en supposant qu'il n'avait jamais entendu parler detry/catch
avant).OriginalL'auteur Bhesh Gurung
Je crois que c'est ce que vous cherchez peut-être:
OriginalL'auteur rafa ble
c'est facile... vous pouvez le faire sur 2 façons
ou vous pouvez être
OriginalL'auteur Luan Castro