Maison  >  Article  >  interface Web  >  Explication détaillée de la définition et de l'utilisation des opérateurs dans le cours de base JavaScript

Explication détaillée de la définition et de l'utilisation des opérateurs dans le cours de base JavaScript

伊谢尔伦
伊谢尔伦original
2017-07-19 10:07:361183parcourir

Les opérateurs en JavaScript sont utilisés pour les expressions de tableau, les expressions de comparaison, les expressions logiques, les expressions d'affectation, etc.
Il convient de noter que la plupart des opérateurs sont représentés par des signes de ponctuation, tels que delete et instanceof. opérateur ou un opérateur symbolique, les opérateurs représentés sont tous des opérateurs réguliers et leur syntaxe est très concise et complète.
Triés par priorité des opérateurs d'indice, la priorité de l'opérateur précédent est supérieure à la priorité de l'opérateur suivant. Les opérateurs séparés par des scalaires horizontaux ont une priorité différente.
A représente l'associativité de l'opérateur.
L de gauche à droite ou R (de droite à gauche)
La liste de rubrique N représente le nombre d'opérandes.
Type indique le type d'opérandes attendus, et le type de résultat de l'opérateur (après le symbole "→")

i Le nombre d'opérandes

L'opérateur peut être actionné par. Classez le nombre de nombres.

La plupart des opérateurs en JavaScript sont des opérateurs binaires, combinant deux expressions en une expression légèrement plus complexe.
Javascript prend également en charge certains opérateurs unaires, qui convertissent une expression en une autre expression légèrement plus complexe. L'opérateur "-" dans l'expression -x est un opérateur unaire. est de prendre la valeur négative de x.
Javascript prend en charge un opérateur ternaire : l'opérateur de jugement conditionnel "?:", qui combine trois expressions en une seule expression

ii Type d'opérande et type de résultat

Certains opérateurs peuvent être utilisés avec. n'importe quel type de données, mais ils sont toujours censés fonctionner sur des données d'un type spécifié.

iii. lvalue

L'opérateur d'affectation et quelques autres opérateurs du tableau s'attendent à ce que leurs opérandes soient de type lval, lvalue étant un terme archaïque. Cela signifie "une expression ne peut apparaître que sur le côté gauche d'un opérateur d'affectation". En JavaScript, les variables, les propriétés d'objet et les éléments de tableau sont tous des valeurs l. La spécification ECMAScript permet aux fonctions intégrées étendues de renvoyer une valeur l, mais les fonctions définies ne le peuvent pas.

iiii. Priorité des opérateurs

Dans le tableau ci-dessus, les opérateurs indiqués sont classés de haut en bas par priorité, un groupe d'opérateurs au sein de chaque ligne de démarcation horizontale ayant la même priorité. La priorité des opérateurs contrôle l'ordre dans lequel les opérateurs sont exécutés. Les opérateurs avec une priorité plus élevée (en haut du tableau) sont toujours exécutés avant les opérateurs avec une priorité inférieure (en bas du tableau).

Regardez l'expression suivante

w=x+y*z;
L'opérateur de multiplication "*" a une priorité plus élevée que l'addition "+", donc la multiplication est exécutée d'abord. Ensuite, puisque l'opérateur d'affectation "=" a la priorité la plus basse. Par conséquent, l’opération d’affectation est effectuée une fois que l’expression du côté droit a été évaluée. La priorité de l'opérateur

peut être écrite à l'aide de parenthèses. L’expression ci-dessus peut s’écrire ainsi.

w = (x + y) * z;
Il convient de noter que la priorité des expressions d'accès aux attributs et des expressions d'appel est supérieure à celle de tous les opérateurs du tableau.

typeof my.Function[x](y)
Bien que typeof soit l'un des opérateurs de priorité la plus élevée, typeof est également exécuté après deux accès à la propriété et appels de fonction.

En fait, si vous n'êtes vraiment pas sûr de la priorité des opérateurs que vous utilisez, le plus simple est d'utiliser des parenthèses pour forcer l'ordre des opérations. Il y a quelques règles importantes à retenir : la multiplication et la division sont supérieures à l'addition et à la soustraction, et les opérations d'affectation ont une très faible priorité et sont généralement effectuées en dernier.

iiiiii. Associativité des opérateurs

Dans le tableau de cette section, la colonne intitulée A illustre la nodulation des opérateurs. L signifie combiner de gauche à droite, R signifie combiner de droite à gauche. Tuberculity spécifie l'ordre des opérations dans plusieurs expressions d'opérateurs avec la même priorité.

Par exemple, les opérations de soustraction sont effectuées de manière associative de gauche à droite.

w = x - y - z

est identique à ce code :

w = ((x - y) - z)

A l'inverse, l'expression suivante :

x = ~-y;
w = x = y = z;
q=a?b:c?d:e?f:g;

est exactement la même que ce code

x=~(-y);
w=(x=(y=z));
q=a?b:(c?d:(e?f:g))

Parce que les opérateurs unaires, les affectations et les opérateurs conditionnels ternaires ont tous une associativité de droite à gauche.

iiiiiii. Ordre des opérations

La préséance et l'associativité des opérateurs précisent leur ordre d'opération dans l'expression d'affectation, mais ne précisent pas l'opération lors du calcul de l'ordre de l'expression littérale. JavaScript calcule toujours les expressions strictement de gauche à droite, par exemple :

Dans l'expression w=x+y*z, l'expression w sera calculée en premier, puis x, y et z seront calculés ensuite. , la valeur de y est multipliée par la valeur de z et la valeur de x est ajoutée. Enfin, la variable ou l'attribut pointé par son expression w. L'ajout de parenthèses à une expression modifie la relation entre les opérations de multiplication, d'addition et d'affectation. Mais l’ordre de gauche à droite ne changera pas.

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