Les mots précédents
Il y a 46 opérateurs en JavaScript. En plus des opérateurs arithmétiques, des opérateurs relationnels, des opérateurs de bits et des opérateurs logiques mentionnés précédemment, il existe de nombreux opérateurs. Cet article présentera des opérateurs conditionnels, des opérateurs de virgule, des opérateurs d'affectation, () et des opérateurs de vide
Opérateur conditionnel
L'opérateur conditionnel est le seul opérateur ternaire (trois opérandes) en JavaScript, et est parfois appelé un «opérateur ternaire» directement. Habituellement, cet opérateur est écrit comme «?:«, Bien sûr, il n'est souvent pas abrégé dans le code, car cet opérateur a trois opérandes, le premier opérande est avant «?», Le deuxième opérande est entre «? et ':', et le troisième opérande est après ':'
variable = boolean_expression? true_value: false_value;
Essentiellement, cela est basé sur le résultat de l'évaluation de Boolean_Expression, qui détermine quelle valeur à la variable variable. Si le résultat de l'évaluation est vrai, la variable variable de la variable est attribuée true_value; Si le résultat de l'évaluation est faux, alors la variable est attribuée false_value_value
L'opérande de l'opérateur conditionnel peut être de tout type, le premier opérande est traité comme une valeur booléenne, et s'il est vrai, le deuxième opérande sera calculé et son résultat de calcul sera retourné. Sinon, si le premier opérande est une fausse valeur, le troisième opérande est calculé et son résultat de calcul est renvoyé. Les deuxième et troisième opérandes calculent toujours l'un d'eux, et il est impossible d'exécuter les deux en même temps.
En fait, en utilisant les instructions IF apporteront également le même effet, l'opérateur '?:' fournit uniquement un formulaire de raccourci. Voici un scénario d'application typique pour '?:', Pour déterminer si une variable est définie (et a une valeur de vérité significative), utilisez-la en cas de définition et utilisez une valeur par défaut s'il n'y a pas de définition:
Greeting = 'Hello' + (nom d'utilisateur? Nom d'utilisateur: «là»);
Cela équivaut au code ci-dessous en utilisant l'instruction IF, mais évidemment le code ci-dessus est plus concis:
saluer = 'bonjour'; if (nom d'utilisateur) saluer + = nom d'utilisateur; else salutation + = 'there';
L'expression conditionnelle ternaire a le même effet d'expression que l'instruction if ... else, mais il y a une différence significative entre les deux. Si ... Else est une instruction et n'a pas de valeur de retour; L'expression conditionnelle ternaire est une expression et a une valeur de retour. Par conséquent, dans les cas où la valeur de retour est requise, vous ne pouvez utiliser que des expressions conditionnelles ternaires, et non si ...
console.log (true? 't': 'f');
Dans le code ci-dessus, le paramètre de la méthode Console.log doit être une expression, et seules les expressions conditionnelles ternaires peuvent être utilisées.
Opérateur de virgule
L'opérateur de virgule est un opérateur binaire et son opérande peut être de n'importe quel type. Il calcule d'abord l'opérande gauche, puis calcule l'opérande droit et renvoie finalement la valeur de l'opérande droit. Utilisez l'opérateur de virgule pour effectuer plusieurs opérations dans une déclaration
i = 0, j = 1, k = 2; // Le résultat de calcul est 2, ce qui est essentiellement équivalent au code ci-dessous i = 0; j = 1; k = 2;
Les opérateurs de virgule sont souvent utilisés pour déclarer plusieurs variables
var inum1 = 1, inum = 2, inum3 = 3;
Le scénario le plus courant pour les opérateurs de virgules est dans une boucle pour la boucle, qui a généralement plusieurs variables de boucle:
// La première virgule dans la boucle FOR fait partie de l'instruction var // La deuxième virgule est l'opérateur de virgule // Il met deux expressions (i ++ et j--) dans une instruction pour (var i = 0, j = 10; i <j; i ++, j -) {console.log (i + j);};L'opérateur de virgule peut également être utilisé pour l'attribution et, lorsqu'il est utilisé pour l'attribution, l'opérateur de virgule renvoie toujours le dernier élément de l'expression.
var num = (1,2,3,4,5); console.log (num); // 5
[Remarque] Supprimez les supports et rapportera une erreur
Opérateur d'affectation
Un opérateur d'attribution simple est représenté par le signe égal '=', qui attribue la valeur à la droite du signe égal à la variable ou à l'attribut à gauche du signe égal.
i = o; ox = 1;
L'opérateur '=' s'attend à ce que son opérand gauche soit un LVALUE: une variable ou un attribut d'objet (ou un élément de tableau). Son opérande droit peut être n'importe quelle valeur de tout type. La valeur de l'expression de l'affectation est la valeur du bon opérande
Bien que les expressions d'affectation soient généralement très simples, vous verrez parfois des expressions complexes contenant des expressions d'affectation. Par exemple, vous pouvez mettre des opérateurs d'affectation et relationnels dans une expression, comme ceci:
(a = b) == 0
Si vous faites cela, vous devez savoir clairement la différence entre les opérateurs '=' et '=='. '=' a une priorité très faible. Habituellement, lorsqu'une valeur d'une instruction d'affectation est utilisée dans une expression plus longue, les parenthèses doivent être ajoutées pour assurer l'ordre des opérations correctes.
La nature de liaison de l'opérateur d'affectation est de droite à gauche, c'est-à-dire que si plusieurs opérateurs d'affectation apparaissent dans une expression, l'ordre d'opération est de droite à gauche. Par conséquent, plusieurs variables peuvent être attribuées de la manière suivante:
i = j = k = 0; // initialiser trois variables à 0
JavaScript fournit également 11 opérateurs d'affectation composés. Ces opérateurs d'attribution composés sont tous d'abord des opérations spécifiées, puis renvoie la valeur obtenue à la variable à gauche.
[Remarque] Le but de la conception de ces opérateurs est de simplifier les opérations d'attribution, et les utiliser n'apportera aucune amélioration des performances.
Total + = Sales_Tax; // Équivalent à Total = Total + Sales_Tax;
L'exemple de l'opérateur est équivalent à + = a + = ba = a + b- = a- = ba = ab * = a * = ba = a * b / = a / = ba = a / b% = a% = ba = a% b << = a << = ba = a << b >> = a >> = ba = a >> b >> = a >> = a >>> = a >> = ba = a >> b >> = a >> = a >>> = a >> = ba = a >> b >> = a >> = a >>) a & = ba = a & b | = a | = ba = a | b ^ = a ^ = ba = a ^ b
Dans la plupart des cas, l'expression est:
a op = b
Ici, OP représente un opérateur, et cette expression est équivalente à l'expression suivante
a = a op b
Dans la première ligne, l'expression a est calculée une fois, et dans la deuxième ligne, l'expression a est calculée deux fois. Ce n'est que lorsqu'il contient des expressions avec des effets secondaires (tels que les appels de fonction et les opérations d'affectation)
data [i ++] * = 2; data [i ++] = data [i ++] * 2;
Opérateur de support
Il y a deux utilisations de l'opérateur de support: si l'expression est placée entre parenthèses, la fonction consiste à évaluer; S'il est suivi d'une fonction, la fonction consiste à appeler la fonction.
Mettez l'expression entre parenthèses et renvoyez la valeur de l'expression
console.log ((1)); //1Console.log(('a ')); //'a'console.log((1+2)); // 3Mettre l'objet entre parenthèses renverra la valeur de l'objet, c'est-à-dire l'objet lui-même
var o = {p: 1}; console.log ((o)); // objet {p: 1}Mettre la fonction entre parenthèses renvoie la fonction elle-même. Si les parenthèses suivent la fonction, cela signifie appeler la fonction, c'est-à-dire l'évaluation de la fonction
fonction f () {return 1;} console.log ((f)); // fonction f () {return 1;} console.log (f ()); // 1Étant donné que l'objectif des parenthèses est d'évaluer, si l'instruction est placée entre parenthèses, une erreur sera signalée car l'instruction ne renvoie pas la valeur
console.log (var a = 1); // syntaxerror: token inattendu varconsole.log ((var a = 1)); // syntaxerror: token inattendu var var
vide
Void est un opérateur unaire. Il apparaît devant un opérande. L'opérande peut être de n'importe quel type. L'opérande sera calculé comme d'habitude, mais le résultat de calcul est ignoré et non défini est renvoyé. Puisque Void ignore la valeur des opérandes, utilisez le vide lorsque les opérandes ont des effets secondaires pour rendre le programme plus sémantique
console.log (void 0); // undefinedConsole.log (void (0)); // indéfini
【Fonction 1】 Remplacer non défini
Étant donné que non défini n'est pas un mot-clé, il sera réécrit dans IE8-Browser et dans la portée des fonctions de version supérieure; Par conséquent, non défini peut être remplacé par vide 0
var undefined = 10; console.log (non défini); // ie8-it est 10 sous le navigateur, et une fonction non définie t () {var undefined = 10; Console.log (Undefined);} console.log (t ()); // il est 10 sous tous les navigateurs【Rôle 2】 URL du client
Cet opérateur est le plus souvent utilisé dans les URL client - JavaScript: URL. Les expressions avec des effets secondaires peuvent être écrites dans l'URL, tandis que le void permet au navigateur d'éviter d'afficher les résultats de calcul de cette expression. Par exemple, l'opérateur void est souvent utilisé dans la balise <a> dans le code HTML
<a href = "javascript: void window.open ();"> Ouvrez une nouvelle fenêtre </a>
【Effectif trois】 Block Events par défaut
La façon de bloquer l'événement par défaut est de définir la valeur de retour sur false.
// Méthode d'écriture générale <a href = "http://example.com" onclick = "f (); return false;"> text </a>
Utilisez l'opérateur void pour remplacer la méthode d'écriture ci-dessus
<a href = "javascript: void (f ())"> text </a>
L'article ci-dessus discute brièvement des opérateurs JavaScript - conditions, virgules, affectation, () et les opérateurs de voies sont tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.