Maison  >  Article  >  interface Web  >  Résumé des huit types d'opérateurs en JavaScript

Résumé des huit types d'opérateurs en JavaScript

伊谢尔伦
伊谢尔伦original
2017-07-19 09:19:26965parcourir

1. Opérateurs unaires

1. Opérateur de suppression : supprime les références aux propriétés ou méthodes d'objet précédemment définies. Par exemple :

var o=new Object; 
o.name="superman"; 
alert(o.name); //输出 "superman" 
delete o.name; 
alert(o.name); //输出 "undefined"

supprime l'attribut name et le définit sur non défini (c'est-à-dire la valeur de la variable non initialisée créée). delete ne peut pas supprimer les propriétés et les méthodes qui ne sont pas définies par le développeur (c'est-à-dire définies par ECMAScript).
Par exemple, le code suivant provoquera une erreur : delete o.toString();

2. Opérateur void : renvoie undéfini pour n'importe quelle valeur. Cet opérateur est généralement utilisé pour éviter de générer des valeurs qui ne devraient pas être générées.
Par exemple : dans la page HTML 675eda870be2316d492275bfd24cd4c7Cliquez sur moi5db79b134e9f6b82c0b36e0489ee08ed
Cliquez sur le lien, le lien dans la page Web disparaît et l'affichage "[object]" (dans IE, "[object Window]" est affiché dans Firefox, et le lien est toujours le même dans Google). Parce que la méthode window.open() renvoie une référence à la fenêtre nouvellement ouverte. L'objet est ensuite converti en chaîne à afficher. Pour éviter ce résultat, vous pouvez appeler la fonction window.open() avec l'opérateur void :

<a href="javascript:void(window.open(&#39;about:blank&#39;))">Click Me</a>

Cela provoque le retour de l'appel window.open() undéfini, ce qui n'est pas valide. valeur et ne sera pas affiché dans la fenêtre du navigateur.

3. Opérateur de pré-incrémentation/pré-décrémentation : L'utilisation est la même qu'en C. Les opérations se produisent avant que les expressions ne soient évaluées. Tels que : ++i --i.

4. Opérateurs post-incrémentation/post-décrémentation : les opérateurs Postfix effectuent des opérations d'incrémentation ou de décrémentation après avoir calculé les expressions qui les contiennent. Tels que : i++ ; i--.

5. Addition d'un yuan et soustraction d'un yuan
L'addition d'un yuan n'a essentiellement aucun effet sur les nombres : var iNum=+iNum ;
Addition d'un yuan Lorsque l'opérateur opère sur une chaîne, la façon dont il calcule la chaîne est similaire à parseInt(). La principale différence est que pour les chaînes commençant par "0x" (représentant des nombres hexadécimaux), les opérateurs unaires peuvent convertir. à la valeur décimale. Par conséquent, la conversion de « 010 » à l’aide de l’addition unaire donnera toujours 10, tandis que « 0xB » sera converti en 11.
var sNum="25"; alert(typeof sNum); //Sortie "string"
var iNum=+sNum; alert(typeof iNum); //Sortie "number"
La soustraction unitaire est la Annuler une valeur numérique Semblable à l'opérateur d'addition unaire, l'opérateur de soustraction unaire convertira également une chaîne en un nombre approximatif et annulera également la valeur.
var sNum = "25"; alert(typeof sNum); //Sortie "string"
var iNum = -sNum; //Sortie "-25"
alert(typeof iNum); ); //Sortie "numéro"


2. Opérateurs de bits : une série d'opérateurs liés au binaire
L'opérateur de bits NOT est constitué du signe de négation (~) exprimer.
L'opérateur bit à bit AND est représenté par l'esperluette (&).
L'opérateur bit à bit OU est représenté par le symbole (|).
L'opérateur bit à bit XOR est représenté par le symbole (^).
L'opération de décalage vers la gauche est représentée par deux signes moins que (2119811199f392aa6a080f5565a7fc52>).
Le décalage vers la droite non signé est représenté par trois signes supérieur à (>>>).


3. Opérateurs booléens
Il existe trois types d'opérateurs booléens, à savoir NOT, AND et OR.
1. NON logique, représenté par un point d'exclamation (!). Cet opérateur est généralement utilisé pour contrôler les boucles. Contrairement aux opérateurs logiques OR et logique AND, l’opérateur logique NOT doit renvoyer une valeur booléenne. L'opérateur logique NOT se comporte comme suit :
Si l'opérande est un objet, renvoie false.
Si l'opérande est le chiffre 0, renvoie vrai.
Si l'opérande est un nombre autre que 0, renvoie false.
Si l'opérande est nul, renvoie vrai.
Si l'opérande est NaN, renvoie vrai.
Si l'opérande n'est pas défini, une erreur se produit.
Exemple : var b = true;
while(!b){ …… }
Opérateur ET logique, représenté par une double esperluette (&&). Il n'y a qu'une seule situation où le résultat est vrai : true && true = true
L'opérande de l'opération logique AND peut être de n'importe quel type, pas seulement des valeurs booléennes. Si un opérande n'est pas une valeur booléenne primitive, l'opération logique ET ne renvoie pas nécessairement une valeur booléenne :
Si un opérande est un objet et l'autre est une valeur booléenne, l'objet est renvoyé.
Si les deux opérandes sont des objets, renvoie le deuxième objet.
Si un opérande est nul, renvoie null.
Si un opérande est NaN, renvoie NaN.
Si un opérande n'est pas défini, une erreur se produit.
Si le premier opérande est faux, alors quelle que soit la valeur du deuxième opérande, le résultat ne peut pas être vrai.
3. Opérateur OU logique, représenté par des doubles barres verticales (||). Il n'y a qu'un seul cas où le résultat est faux : false || false=false ;
Semblable à l'opérateur ET logique, si un opérande n'est pas une valeur booléenne, l'opération OU logique ne renvoie pas nécessairement une valeur booléenne :
Si un opérande est un objet et l'autre est une valeur booléenne, l'objet est restitué.
Si les deux opérandes sont des objets, renvoie le premier objet.
Si un opérande est nul, renvoie null.
Si un opérande est NaN, renvoie NaN.
Si un opérande n'est pas défini, une erreur se produit.
Le OU logique est également une opération simple Pour l'opérateur OU logique, si la valeur du premier opérande est vraie, le deuxième opérande ne sera pas calculé.


4. Opérateur multiplicatif
1. L'opérateur de multiplication, représenté par un astérisque (*), est utilisé pour multiplier deux nombres. Mais lorsqu'il s'agit de valeurs spéciales, la multiplication dans ECMAScript a également des comportements spéciaux :
Si les opérandes sont tous des nombres, une opération de multiplication régulière est effectuée. Si le résultat est trop grand ou trop petit, le résultat généré est Infini ou -. Infini. .
Si un opérande est NaN, le résultat est NaN.
Infini multiplié par 0, le résultat est NaN.
Infini multiplié par n'importe quel nombre autre que 0, le résultat est Infini ou -Infini, déterminé par le signe du deuxième opérande.
2. L'opérateur de division, représenté par une barre oblique (/), divise le premier nombre par le deuxième nombre. Pour les valeurs spéciales, le comportement spécial est le suivant :
Si les opérandes sont tous des nombres, l'opération de déclenchement normale est effectuée. Si le résultat est trop grand ou trop petit, le résultat généré est Infini ou -Infini.
Si un opérande est NaN, le résultat est NaN.
Si 0 est divisé par un nombre non infini, le résultat est NaN.
L'infini est divisé par n'importe quel nombre autre que 0, et le résultat est Infini ou -Infini, déterminé par le signe du deuxième opérande.
3. Opérateur Modulo, exprimé avec le signe pour cent (%). Si les opérandes sont tous deux des nombres, effectuez une division arithmétique régulière et renvoyez le reste. Comportement spécial :
Si le dividende est Infini, ou si le diviseur est 0, le résultat est NaN.
Si le diviseur est un nombre infini, le résultat est le dividende.
Si le dividende est de 0, le résultat est de 0.


5. Opérateur additif
1. Opérateur d'addition (+), comportement spécial :
Un certain opérande est NaN, et le résultat est NaN.
Infini plus -Infini, le résultat est NaN.
Si l'un des opérandes est une chaîne, alors les règles suivantes s'appliquent :
Si les deux opérandes sont des chaînes, concaténez la deuxième chaîne à la première chaîne.
Si un seul opérande est une chaîne, convertissez l'autre opérande en chaîne, et le résultat est une chaîne concaténée par les deux chaînes.
2. Opérateur de soustraction (-), si les deux opérandes sont des nombres, une soustraction arithmétique sera effectuée. Règles spéciales :
Si l'opérande est NaN, le résultat est NaN.
Un opérande n'est pas un nombre, et le résultat est NaN.


六、关系运算符
关系运算符小于、大于、小于等于和大于等于执行的是两个数的比较运算,比较方式与算术比较运算相同。每个关系运算符都返回一个Boolean值。
对于字符串,第一个字符串中每个字符的代码都会与第二个字符串中对应位置上的字符的代码进行数值比较。
1、大写字母的代码都小于小写字母的代码,所以要得到按照真正的字母顺序比较结果,必须把两个运算数转换成相同的大小写形式,再进行比较。
2、在比较两个字符串形式的数字时,比较的是它们的字符代码。
3、比较一个字符串和数字,ECMAScript都会把字符串转换为数字,然后按照数字顺序比较它们。如果字符串不能转换成数字,那么返回NaN,任何包含NaN的关系运算都要返回false。因此,这样会返回false。 


七、等性运算符 

1、等号(==) 和非等号(!=),为确定两个运算数是否相等,这两个运算符都会进行类型转换。执行类型转换的基本规则如下:
如果一个运算数是Boolean值,在检查相等性之前,把它转换成数字值。False转换成0,true转换成1。
如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
如果一个运算数是对象,另一个是字符串,在检查等性之前,要尝试把对象转换成字符串(调用toString()方法)。
如果一个运算数是对象,另一个是数字,在检查等性之前,要尝试把对象转换成数字。
在进行比较时,该运算符还遵守下列规则:
值null和undefined相等。
在检查相等性时,不能把null和undefined转换成其他值。
如果某个运算数是NaN,等号将返回false,非等号将返回true。即使两个运算数都是NaN,等号仍然返回false,因为根据规则,NaN不等于NaN。
如果两个运算数都是对象,那么比较的是他们的引用值。如果两个运算数指向同一个对象,那么等号返回true,否则两个运算数不等。 

2、全等号和非全等号
等号和非等号的同类运算符是全等号和非全等号。这两个运算符所做的与等号和非等号相同,只是他们在检查相等性前,不执行类型转换。
全等号由三个等号(===)表示,只有在无需类型转换运算数就相等的情况下,才返回true。

var sNum="55"; var iNum=55; alert(sNum==iNum); //输出 "true" 
alert(sNum===iNum); //输出 "false"

非全等号由两个感叹号加两个等号(!==)表示,只有在无需类型转换运算数不相等的情况下,才返回true。

var sNum="55"; var iNum=55; alert(sNum != iNum); //输出 "false" 
alert(sNum !== iNum); //输出 "true"


八、其他运算符
1、条件运算符,即三元运算符 : variable = boolean_expression ? true_value : false_value;
2、赋值运算符(=) 复合赋值运算符:+=、-=、*=、/=、%=、c1416f47236dd7b5b9b6ea098534dc8d>=、>>>=
3、逗号运算符 用逗号运算符可以在一条语句中执行多个运算。 如: var iNum1=1,iNum2=2;

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