Maison  >  Article  >  interface Web  >  Décrire brièvement les types d'opérateurs et les règles d'utilisation en JavaScript

Décrire brièvement les types d'opérateurs et les règles d'utilisation en JavaScript

巴扎黑
巴扎黑original
2017-07-29 17:22:421526parcourir

Il existe de nombreux opérateurs en JavaScript, principalement divisés en opérateurs arithmétiques, opérateurs d'égalité, opérateurs de comparaison, opérateurs de chaîne, opérateurs logiques, opérateurs d'affectation, etc. Ils ont tous leurs propres règles de fonctionnement, dans cet article je vais les présenter. toi

Il existe de nombreux opérateurs en JavaScript, principalement divisés en opérateurs arithmétiques, opérateurs identiques, opérateurs de comparaison, opérateurs de chaîne, opérateurs logiques, opérateurs d'affectation, etc. Ces opérateurs ont leurs propres règles de fonctionnement. Présentons-nous les opérateurs en JavaScript.

 1. Types d'opérateurs JavaScript

 1. Opérateurs arithmétiques : +, -, *, /, %, -(négation unaire), ++, --

2. Opérateurs d'identité : == , === , !== , !===

3. Opérateurs de comparaison : < , >

4. Opérateurs de chaîne : < , > , <= , >= , = , +

5. Opérateurs logiques : && , ||, !,

6. Opérateurs d'affectation : =, +=, *=, -=, /=

 2. Règles des opérateurs JavaScript

1. Règles des opérateurs arithmétiques

"+" : Vous pouvez effectuer des opérations "d'addition" et de "connexion" ; si l'un des deux opérateurs est une chaîne, JavaScript utilisera l'autre Convertir en chaîne puis concaténer les 2 opérandes.

 « + » : Si un opérande est un objet, JavaScript convertira l'objet en un nombre pour l'ajout ou une chaîne pour la concaténation

 « - » « * » « / » Si un ; des deux opérandes est un non-nombre, il est converti en nombre pour effectuer l'opération mathématique.

 «/» En JavaScript, puisque tous les nombres sont des nombres à virgule flottante, les résultats de la division sont tous des nombres à virgule flottante, 5 / 2 = 2,5 ; le résultat de la division par 0 est plus ou moins l'infini ; 0 est NaN ;

Opérateur modulo "%" : calcule le modulo du premier opérande au deuxième opérande, c'est-à-dire que lorsque le premier opérande est divisé par le deuxième opérande, le reste est renvoyé. Si l'opérande n'est pas numérique, il est converti en nombre.

« - » négation unaire : annulez l'opérande si l'opérande n'est pas un nombre, convertissez-le en nombre.

« ++ » « -- » Opérateur d'incrémentation/opérateur de décrémentation symbole : L'opérande doit être une variable, un élément d'un groupe d'arborescence ou un attribut d'un objet. Si l'opérande n'est pas un nombre, il est converti en nombre.

Remarque : Si "++" est situé avant l'opérande, incrémentez d'abord l'opérande, puis calculez la valeur après l'incrément de l'opérande.

Si "--" est situé après l'opérande, calculez d'abord la valeur avant que l'opérande ne soit incrémenté, puis incrémentez l'opérande.

 Par exemple : i = 1; //Attribuez la valeur 1 à i

 j = ++i; //Première incrémentation de i à 2, puis assignez 2 à j, i Le la valeur est 2 et la valeur de j est également 2.

i = 1; //Attribuez à i une valeur de 1

j = i++; //Attribuez d'abord i à j, puis incrémentez i à 2. La valeur de i est 2. Le la valeur de j est 1.

L'opérateur de décrémentation "--" est le même que "++".

2. Opérateur d'égalité et opérateur d'identité

(I) « == » « !== » Opérateur d'égalité et opérateur de non-identité :

Comparaison 2 opérandes, retours une valeur non booléenne.

La comparaison de valeurs numériques, de chaînes et de valeurs booléennes utilise toutes des valeurs quantitatives. Deux variables sont égales si et seulement si les valeurs qui y sont stockées sont égales.

Lors de la comparaison d'objets, de tableaux et de fonctions, des références sont utilisées. Deux variables ne sont égales que lorsqu'elles font référence au même objet. Deux tableaux différents sont complètement différents, même s’ils contiennent exactement les mêmes éléments. Pour les variables qui stockent des références à des objets, des tableaux et des fonctions, elles sont égales uniquement lorsqu'elles font référence au même objet, tableau ou fonction.

Attention ! Principes à suivre :

Lorsque les types des deux opérandes sont différents : convertissez-les en même type,

1) Un nombre et un caractère Chaîne, après avoir converti la chaîne en nombre, comparez.

2) vrai est converti en 1 et faux est converti en 0 à des fins de comparaison.

 3) Un objet, un tableau, une fonction et un nombre ou une chaîne. L'objet, le tableau ou la fonction est converti en une valeur de type primitif puis comparé. (Utilisez d'abord valueOf, et si cela ne fonctionne pas, utilisez toString)

4) Les autres types de combinaisons ne sont pas égaux.

Si les deux types d'opérandes sont identiques, ou après conversion vers le même type :

1) Deux chaînes : Si les caractères à la même position sont égaux, les deux chaînes sont identiques .

2) Deux nombres : Si les deux nombres sont identiques, ils sont identiques. Ce n'est pas la même chose si l'un est NaN ou si les deux sont NaN.

3) Si les deux sont vrais, ou si les deux sont faux, cela signifie la même chose.

4) Si deux références font référence au même objet, fonction ou tableau, elles sont égales. Si elles font référence à des objets, fonctions ou tableaux différents, elles ne sont pas identiques, même si ces deux objets, fonctions ou tableaux. Peuvent être convertis en un équivalent exact de la valeur d'origine.

5) 2 valeurs nulles, ou les deux sont indéfinies, alors elles sont égales.

 “!=" opérateur de non-égalité : Le résultat du test de l'opérateur d'égalité est opposé.

(II) « === » « !=== » symboles d'opérateur identique et d'opérateur non identique :

L'opérateur identique suit les règles de comparaison de l'opérateur d'égalité, mais il n'effectue pas de conversion de type sur les opérandes lorsque les types des deux opérandes sont différents, false n'est renvoyé que lorsque les types des deux opérandes sont identiques ; L'opération d'égalité est suivie. Comparez selon les règles de comparaison des symboles.

L'opérateur non identique "!==" a le résultat opposé à celui de l'opérateur identique. Renvoie vrai si les types ou les valeurs des deux opérandes sont différents.

3. Opérateurs de comparaison

Ces opérateurs de comparaison sont utilisés pour comparer des valeurs de différents types, et le résultat renvoie une valeur booléenne. "<" Exécuter sur les nombres. Les opérandes qui ne sont pas des nombres ni des chaînes seront convertis en nombres ou en chaînes.

 1) Si les deux opérandes sont des nombres, ou si les deux peuvent être convertis en nombres, la comparaison sera basée sur la taille des nombres

 2) Si les deux opérandes sont des chaînes, ou ils ; peuvent être convertis en chaînes, et elles seront comparées par ordre alphabétique

 3) Si la chaîne rencontre un nombre, la chaîne sera convertie en nombre pour comparaison.

 4) Si l'opérande ne peut pas être converti en nombre ou en chaîne, le résultat est faux.

4. Opérateurs de chaîne

Il n'y a pas d'opérateurs de chaîne dédiés, mais certains opérateurs se comportent différemment lorsqu'ils rencontrent des opérandes de chaîne.

 (I) « + » connecte deux chaînes ;

 1) Lorsque les deux opérandes sont des chaînes, connectez-les

 2) Lorsque Lorsque l'un d'eux est un nombre, convertir les nombres en chaînes et les concaténer ;

  (II) Les opérateurs de comparaison tels que ">" confirment l'ordre des deux chaînes par comparaison, et la comparaison utilise des caractères. Dans l'ordre, les lettres plus petites précèdent les lettres plus grandes. , et les lettres majuscules précèdent les lettres minuscules.

(III) La fonction de "+" dépend de l'ordre de calcul,

Par exemple : s = 1 + 2 + "var" alors : le résultat 3var est renvoyé car 1+ ; 2 est calculé en premier, Puis convertissez le résultat 3 en chaîne et connectez-le avec "var"

Par exemple : s = "var" + 1 + 2 Ensuite : renvoie le résultat var12 ; var et 1 sont calculés en premier, puis le résultat var1 Concaténer avec 2 est converti en chaîne.

5. Les opérateurs logiques

sont utilisés pour effectuer des opérations booléennes et sont souvent utilisés avec des opérateurs de comparaison pour exprimer des opérations de comparaison complexes.

  Opération ET logique « && », opérateur OU logique « || », opérateur NON logique « ! »

(I) « && » lorsque les deux opérandes sont des valeurs booléennes Quand, le ET logique une opération est effectuée sur eux, c'est-à-dire : si et seulement si les deux valeurs booléennes sont vraies, le résultat est vrai, sinon il est renvoyé faux.

Remarque : performances réelles

"&&" détectera la valeur booléenne du premier opérande d'expression. Si la première expression d'opérande renvoie false, le premier opérande de gauche sera renvoyé. de l'expression : false ; sinon, la deuxième expression de l'opérande à droite continuera à être détectée, puis la valeur de la deuxième expression de l'opérande sera renvoyée

Par exemple : if (a = b) stop ; ( ); Équivalent à (a = b) && stop();

Cette méthode est obsolète car l'exécution du code sur le côté droit de l'opérateur n'est pas garantie,

Par exemple. : if (( a < b) && (b++ <10) ) stop(); Si l'incrément sur le côté droit de l'opérateur est nécessaire, il peut ne pas être exécuté en raison de la valeur de retour précédente. Il est généralement opposé. à l'utiliser sur le côté droit de && car il a d'autres effets (affectations, appels de fonction, incréments et décréments) ;

Il sera plus simple et plus sûr de considérer "&&" comme un opérateur d'algèbre booléenne.

 (II) "||" Lorsque les deux opérandes sont des valeurs booléennes, le OU logique effectue une opération OU sur eux, c'est-à-dire : lorsque l'une des deux valeurs booléennes est vraie, le résultat est vrai. sinon, retourne faux.

Remarque : performances réelles

"||" détectera la valeur booléenne du premier opérande d'expression. Si la première expression d'opérande renvoie vrai, la première opération à gauche sera renvoyée. valeur de l'expression numérique : true ; sinon, la deuxième expression de l'opérande à droite continuera à être détectée, puis la valeur de la deuxième expression de l'opérande sera renvoyée

Cette méthode est également obsolète car l'opération ; L'exécution du code sur le côté droit du symbole n'est pas garantie

Il est généralement opposé à l'utilisation d'expressions avec d'autres fonctions (affectations, appels de fonction, incréments et décréments) sur le côté droit de ||;

Remplacer "| |" est considéré comme un opérateur d'algèbre booléenne, ce qui est plus simple et plus sûr.

(III) "!" La négation logique est un opérateur unaire, placé avant l'opérande, et son but est de nier l'opérande.

6. Opérateur d'affectation

(I) "=" est l'opérateur d'affectation ; il s'attend toujours à ce que l'opérande de gauche soit une variable, un élément d'un tableau ou un attribut de un objet ;

Attendez-vous à ce que le membre de droite soit une valeur arbitraire de n'importe quel type

De l'associativité de droite à gauche, s'il y a plusieurs opérateurs d'affectation dans une expression, le calcul commence à partir du celui le plus à droite.

Remarque : Chaque expression d'affectation a une valeur, qui est la valeur à droite de l'opérateur

(II) Vous pouvez utiliser l'opération d'affectation avec l'opération

« +=" pour ajouter la valeur de gauche Après la valeur de droite, affectez-la à la valeur de gauche. "-=" "/=" "*=" a la même méthode ;

7. Autres opérateurs

"?:" L'opérateur conditionnel est le seul opérateur ternaire
Le résultat booléen d'une expression ? Expression 1 (n'importe quelle valeur de n'importe quel type) : Expression 2 (n'importe quelle valeur de n'importe quel type)

Basé sur le résultat booléen du premier opérande, Si c'est vrai, le la deuxième expression d'opérande est exécutée et la valeur de la deuxième expression d'opérande est renvoyée ; si le résultat booléen du premier opérande est faux, la troisième expression d'opérande est exécutée et la valeur de l'expression du deuxième opérande est renvoyée. expression.

 
3. Notes sur les opérateurs JavaScript
 1. Faites attention au type de données transmis à l'opérateur et au type de données renvoyé. Différents opérateurs l'attendent. Une expression d'opérande est évaluée ! à un résultat conforme à un type de données.

Par exemple : la multiplication de chaîne ne peut pas être effectuée, "a" * "b" est illégal, mais lorsque cela est possible, JavaScript convertira l'expression dans le type correct, donc l'expression "3" * "5" est légal. JavaScript convertit la chaîne en nombre et effectue l'opération. Le résultat est le nombre 15, pas la chaîne "15".

2. + a des performances différentes selon les opérandes :

Chaîne + chaîne = chaîne (connectée) ; "a" + "b" = "ab" "5" + "6" = "11"

  Chaîne + nombre = (chaîne convertie en nombre) chaîne (concaténée); "a" + 5 = "a5" 5 est converti en chaîne de caractères "1" + 0 = "10"

 Nombre + Nombre = Nombre (Ajouter) 5 + 5 = 10.

3. Faites attention à l'associativité des opérateurs Certains opérateurs sont associatifs de gauche à droite ;

 Par exemple : w = a + b + c est équivalent à w = (a + b) + c

 w = ---b est équivalent à w = - ( - ( -b ) ); w = a = b = c est équivalent à w= ( a = ( b = c ))

L'associativité des opérateurs unaires, des opérateurs d'affectation et des opérateurs ternaires s'effectue de droite à gauche ;

C'est tout pour présenter les opérateurs JavaScript ici. J'espère que cela vous sera utile dans votre vie quotidienne.

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:
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