Maison > interface Web > js tutoriel > Explication détaillée des exemples d'utilisation de deux points d'exclamation dans les compétences javascript_javascript

Explication détaillée des exemples d'utilisation de deux points d'exclamation dans les compétences javascript_javascript

WBOY
Libérer: 2016-05-16 16:37:09
original
1387 Les gens l'ont consulté

!! est souvent vu dans le code JavaScript. Cet article utilisera des exemples pour analyser en profondeur l'utilisation de deux points d'exclamation en JavaScript. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

!! en JavaScript est un "non" logique, c'est-à-dire qu'il s'agit encore d'un "non" basé sur le "non" logique. De nombreux types peuvent être convertis en types booléens via ! ou !!, et d'autres jugements peuvent alors être effectués.

1. Scénario d'application : Déterminer si un objet existe

Supposons qu'il existe un tel objet json :

{ color: "#E3E3E3", "font-weight": "bold" }
Copier après la connexion

Si vous avez besoin de déterminer s'il existe, utilisez !!.

Si vous imprimez simplement l'objet, vous ne pouvez pas déterminer s'il existe :

var temp = { color: "#A60000", "font-weight": "bold" };
alert(temp);
Copier après la connexion

Résultat : [objet : Objet]

Si vous implémentez ! ou !! sur l'objet json, vous pouvez déterminer si l'objet json existe :

var temp = { color: "#A60000", "font-weight": "bold" };
alert(!temp);
Copier après la connexion

Résultat : faux

var temp = { color: "#A60000", "font-weight": "bold" };
alert(!!temp);
Copier après la connexion

Résultat : vrai

2. La convention de conversion de différents types en types booléens via ou !!

1. Renvoie vrai pour "non" de null

var temp = null;
alert(temp); 
Copier après la connexion
Résultat : nul

var temp = null;
alert(!temp); 
Copier après la connexion
Résultat : vrai

var temp = null;
alert(!!temp); 
Copier après la connexion
Résultat : faux

2. Renvoie vrai pour un "non" non défini

var temp;
alert(temp);
Copier après la connexion
Résultat : non défini

var temp;
alert(!temp);
Copier après la connexion
Résultat : vrai

var temp;
alert(!!temp);
Copier après la connexion
Résultat : faux

3. Renvoie vrai pour "pas" dans la chaîne vide

var temp="";
alert(temp);
Copier après la connexion
Résultat : vide

var temp="";
alert(!temp);
Copier après la connexion
Résultat : vrai

var temp="";
alert(!!temp);
Copier après la connexion
Résultat : faux

4. Renvoie false pour "not" de type entier non nul

var temp=1;
alert(temp);
Copier après la connexion
Résultat : 1

var temp=1;
alert(!temp);
Copier après la connexion
Résultat : faux

var temp=1;
alert(!!temp);
Copier après la connexion
Résultat : vrai

5. Renvoie vrai pour "pas" de 0

var temp = 0;
alert(temp);

Copier après la connexion
Résultat : 0

var temp = 0;
alert(!temp);
Copier après la connexion
Résultat : vrai

var temp = 0;
alert(!!temp);
Copier après la connexion
Résultat : faux

6. Renvoie false pour "pas" dans la chaîne

var temp="ab";
alert(temp);
Copier après la connexion
Résultat : ab

var temp="ab";
alert(!temp);
Copier après la connexion
Résultat : faux

var temp="ab";
alert(!!temp);
Copier après la connexion
Résultat : vrai

7. Renvoie false pour "pas" dans le tableau

var temp=[1,2];
alert(temp);
Copier après la connexion
Résultats : 1,2

var temp=[1,2];
alert(!temp);
Copier après la connexion
Résultat : faux

var temp=[1,2];
alert(!!temp);
Copier après la connexion
Résultat : vrai

Je crois que ce qui est décrit dans cet article a une certaine valeur de référence pour l'apprentissage par chacun de la programmation JavaScript.

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal