Maison > interface Web > js tutoriel > Introduction à la différence entre deux signes égaux et trois signes égaux dans les connaissances javaScript_Basic

Introduction à la différence entre deux signes égaux et trois signes égaux dans les connaissances javaScript_Basic

WBOY
Libérer: 2016-05-16 16:43:02
original
1460 Les gens l'ont consulté

En un mot : == convertissez d'abord le type puis comparez, === déterminez d'abord le type, si ce n'est pas le même type, ce sera directement faux.
=== signifie égalité, les deux côtés de la comparaison doivent être absolument identiques

alert(0 == ""); // true
alert(0 == false); // true
alert("" == false); // true
Copier après la connexion
alert(0 === ""); // false
alert(0 === false); // false
alert("" === false); // false
Copier après la connexion

Parlons d'abord de ===. C'est relativement simple. Les règles de comparaison spécifiques sont les suivantes :

1. Si les types sont différents, [pas égaux]
2. Si les deux sont des valeurs numériques et ont la même valeur, alors [égal] (!Exception) est que si au moins l'un d'eux est NaN, alors [pas égal]. (Pour déterminer si une valeur est NaN, vous ne pouvez utiliser que isNaN() pour déterminer)
3. Si les deux sont des chaînes et que les caractères à chaque position sont identiques, alors [égal] sinon [pas égal].
4. Si les deux valeurs sont vraies ou si les deux sont fausses, alors [égal].
5. Si les deux valeurs font référence au même objet ou à la même fonction, alors [égal] sinon [pas égal].
6. Si les deux valeurs sont nulles ou si les deux ne sont pas définies, alors [égal].

Quant à ==, les règles de comparaison spécifiques sont les suivantes :

1. Si les deux types de valeur sont identiques, effectuez une comparaison === Les règles de comparaison sont les mêmes que ci-dessus
2. Si deux types de valeur sont différents, ils peuvent être égaux. Effectuez la conversion et la comparaison de types selon les règles suivantes :
a. Si l'un est nul et l'autre n'est pas défini, alors [égal].
b. Si l'une est une chaîne et l'autre une valeur numérique, convertissez la chaîne en valeur numérique, puis comparez.
c. Si une valeur est vraie, convertissez-la en 1 et comparez ; si une valeur est fausse, convertissez-la en 0 et comparez.
d. Si l'un est un objet et l'autre une valeur numérique ou une chaîne, convertissez l'objet en une valeur du type de base, puis comparez. L'objet est converti en type de base à l'aide de sa méthode toString ou valueOf. Les classes intégrées de base de JS essaieront valueOf avant toString ; l'exception est Date, qui utilise la conversion toString. Objets de base non-js, Ling Shuo (c'est plus gênant, je ne comprends pas très bien)
e. Toute autre combinaison (tableau, etc.) est [pas égale].

É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