Maison interface Web js tutoriel Comment déterminer si un objet existe en javascript

Comment déterminer si un objet existe en javascript

Sep 08, 2021 pm 06:19 PM
javascript 对象

Méthode de jugement : 1. Utilisez l'instruction "if(!Obj)" ; 2. Utilisez "if(!window.Obj)" ; 3. Utilisez "if(!this.Obj)" ; typeof Obj=="undéfini""; 5. Utilisez "if(Obj==undéfini)" et ainsi de suite.

Comment déterminer si un objet existe en javascript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

Méthode Javascript pour déterminer si un objet existe

Maintenant, nous devons déterminer si un objet global myObj existe. S'il n'existe pas, déclarez-le. L'algorithme décrit en langage naturel est le suivant :

  if (myObj不存在){
    声明myObj;
  }
Copier après la connexion

Laissez-moi partager avec vous 10 méthodes d'implémentation :

Méthode 1 :

  if (!myObj) {
    var myObj = { };
  }
Copier après la connexion

Méthode 2 :

En plus de la commande var, il y a une autre réécriture , vous pouvez également obtenir le résultat correct :

  if (!window.myObj) {
    myObj = { };
  }
Copier après la connexion

window est l'objet de niveau supérieur de JavaScript, et toutes les variables globales sont ses propriétés. Par conséquent, déterminer si myobj est vide équivaut à déterminer si l'objet window possède l'attribut myobj, de sorte que les erreurs ReferenceError qui se produisent parce que myObj n'est pas défini peuvent être évitées. Cependant, du fait de la standardisation du code, il est préférable d'ajouter var à la deuxième ligne :

  if (!window.myObj) {
    var myObj = { };
  }
Copier après la connexion

ou de l'écrire comme ceci :

  if (!window.myObj) {
    window.myObj = { };
  }
Copier après la connexion

Méthode 3 :

L'inconvénient de la méthode d'écriture ci-dessus est que dans certaines opérations Dans les environnements (tels que V8, Rhino), window peut ne pas être un objet de niveau supérieur. Par conséquent, envisagez de le réécrire comme suit :

  if (!this.myObj) {
    this.myObj = { };
  }
Copier après la connexion

Au niveau des variables globales, le mot-clé this pointe toujours vers la variable de niveau supérieur, afin qu'il puisse être indépendant des différents environnements d'exploitation.

Méthode 4 :

Cependant, la manière d'écrire ci-dessus est moins lisible, et le pointeur de celle-ci est variable et sujet aux erreurs, il est donc réécrit davantage :

  var global = this;
  if (!global.myObj) {
    global.myObj = { };
  }
Copier après la connexion

Utilisez la variable personnalisée global pour représenter le sommet -niveau objet, ce sera clair Beaucoup plus.

Méthode 5 :

Vous pouvez également utiliser l'opérateur typeof pour déterminer si myObj est défini.

  if (typeof myObj == "undefined") {
    var myObj = { };
  }
Copier après la connexion

C'est actuellement la méthode la plus utilisée pour déterminer si un objet JavaScript existe.

Méthode 6 :

Étant donné que la valeur de myObj est directement égale à undefined lorsqu'elle est définie mais non assignée, la méthode d'écriture ci-dessus peut être simplifiée :

  if (myObj == undefined) {
    var myObj = { };
  }
Copier après la connexion

Il y a deux endroits auxquels il faut faire attention ici, d'abord le deuxième ligne Le mot-clé var ne peut pas manquer, sinon une ReferenceError se produira. Deuxièmement, des guillemets simples ou doubles ne peuvent pas être ajoutés à undefined, car le type de données undefined est comparé ici, pas la chaîne "undefined".

Méthode 7 :

La méthode d'écriture ci-dessus est toujours valable dans le cas d'une "comparaison exacte" (===) :

  if (myObj === undefined) {
    var myObj = { };
  }
Copier après la connexion

Méthode 8 :

Selon la conception du langage javascript, undefined == null, Par conséquent, comparer si myObj est égal à null peut également obtenir le résultat correct :

  if (myObj == null) {
    var myObj = { };
  }
Copier après la connexion

Cependant, bien que le résultat exécuté soit correct, sémantiquement parlant, cette méthode de jugement est erronée et doit être évitée. Parce que null fait référence à un objet vide auquel a été attribué une valeur null, c'est-à-dire que cet objet a en fait une valeur, tandis qu'undéfini fait référence à un objet qui n'existe pas ou auquel aucune valeur n'est attribuée. Par conséquent, seul « l'opérateur de comparaison » (==) peut être utilisé ici. Si l'« opérateur de comparaison exact » (===) est utilisé ici, une erreur se produira.

Méthode 9 :

Vous pouvez également utiliser l'opérateur in pour déterminer si myObj est une propriété de l'objet de niveau supérieur :

  if (!('myObj' in window)) {
    window.myObj = { };
  }
Copier après la connexion

Méthode 10 :

Enfin, utilisez la méthode hasOwnProperty pour déterminer si myObj est une propriété de l'objet de niveau supérieur Attributs :

  if (!this.hasOwnProperty('myObj')) {
    this.myObj = { };
  }
Copier après la connexion

Résumé

1 Si vous déterminez uniquement si l'objet existe, il est recommandé d'utiliser la cinquième façon d'écrire.

2. Si en plus de savoir si l'objet existe, vous devez également déterminer si l'objet a une valeur nulle, il est recommandé d'utiliser la première façon d'écrire.

3. Sauf circonstances particulières, toutes les variables doivent être déclarées à l'aide de la commande var.

4. Afin d'être multiplateforme, il est recommandé d'éviter d'utiliser window pour représenter des objets de niveau supérieur.

5. En langage Javascript, null et indéfini se confondent facilement. Dans les cas où les deux peuvent être impliqués, il est recommandé d'utiliser l'opérateur "comparaison exacte" (===).

【Apprentissage recommandé : Tutoriel avancé javascript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment convertir le tableau de résultats d'une requête MySQL en objet ? Comment convertir le tableau de résultats d'une requête MySQL en objet ? Apr 29, 2024 pm 01:09 PM

Voici comment convertir un tableau de résultats de requête MySQL en objet : Créez un tableau d'objets vide. Parcourez le tableau résultant et créez un nouvel objet pour chaque ligne. Utilisez une boucle foreach pour attribuer les paires clé-valeur de chaque ligne aux propriétés correspondantes du nouvel objet. Ajoute un nouvel objet au tableau d'objets. Fermez la connexion à la base de données.

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Quelle est la différence entre les tableaux et les objets en PHP ? Quelle est la différence entre les tableaux et les objets en PHP ? Apr 29, 2024 pm 02:39 PM

En PHP, un tableau est une séquence ordonnée et les éléments sont accessibles par index ; un objet est une entité avec des propriétés et des méthodes, créée via le mot-clé new. L'accès au tableau se fait via l'index, l'accès aux objets se fait via les propriétés/méthodes. Les valeurs du tableau sont transmises et les références d'objet sont transmises.

Qu'est-ce que l'objet Request en PHP ? Qu'est-ce que l'objet Request en PHP ? Feb 27, 2024 pm 09:06 PM

L'objet Request en PHP est un objet utilisé pour gérer les requêtes HTTP envoyées par le client au serveur. Grâce à l'objet Request, nous pouvons obtenir les informations de demande du client, telles que la méthode de demande, les informations d'en-tête de demande, les paramètres de demande, etc., afin de traiter et de répondre à la demande. En PHP, vous pouvez utiliser des variables globales telles que $_REQUEST, $_GET, $_POST, etc. pour obtenir les informations demandées, mais ces variables ne sont pas des objets, mais des tableaux. Afin de traiter les informations demandées de manière plus flexible et plus pratique, vous pouvez

À quoi dois-je faire attention lorsqu'une fonction C++ renvoie un objet ? À quoi dois-je faire attention lorsqu'une fonction C++ renvoie un objet ? Apr 19, 2024 pm 12:15 PM

En C++, il y a trois points à noter lorsqu'une fonction renvoie un objet : Le cycle de vie de l'objet est géré par l'appelant pour éviter les fuites mémoire. Évitez les pointeurs suspendus et assurez-vous que l'objet reste valide après le retour de la fonction en allouant dynamiquement de la mémoire ou en renvoyant l'objet lui-même. Le compilateur peut optimiser la génération de copie de l'objet renvoyé pour améliorer les performances, mais si l'objet est transmis par sémantique de valeur, aucune génération de copie n'est requise.

Comment obtenir facilement le code d'état HTTP en JavaScript Comment obtenir facilement le code d'état HTTP en JavaScript Jan 05, 2024 pm 01:37 PM

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service

See all articles