1. Unäre Operatoren
1. Löschoperator: Löscht Verweise auf zuvor definierte Objekteigenschaften oder Methoden. Beispiel:
var o=new Object; o.name="superman"; alert(o.name); //输出 "superman" delete o.name; alert(o.name); //输出 "undefined"
entfernt das Namensattribut und setzt es auf undefiniert (d. h. den Wert der erstellten nicht initialisierten Variablen). delete kann keine Eigenschaften und Methoden löschen, die nicht vom Entwickler definiert wurden (d. h. von ECMAScript definiert wurden).
Der folgende Code verursacht beispielsweise einen Fehler: delete o.toString();
2. Gibt undefiniert für jeden Wert zurück. Dieser Operator wird normalerweise verwendet, um die Ausgabe von Werten zu vermeiden, die nicht ausgegeben werden sollten.
Zum Beispiel: Klicken Sie auf der HTML-Seite Klicken Sie auf mich, der Link auf der Webseite verschwindet und die Anzeige „[Objekt]“ (im IE wird „[Objektfenster]“ in Firefox angezeigt, und der Link ist in Google immer noch derselbe). Denn die Methode window.open() gibt einen Verweis auf das neu geöffnete Fenster zurück. Das Objekt wird dann in einen anzuzeigenden String umgewandelt. Um dieses Ergebnis zu vermeiden, können Sie die Funktion window.open() mit dem Operator void aufrufen:
<a href="javascript:void(window.open('about:blank'))">Click Me</a>
Ein-Yuan-Addition Wenn der Operator eine Zeichenfolge bearbeitet, ähnelt die Art und Weise der Berechnung der Zeichenfolge der von parseInt(). Der Hauptunterschied besteht darin, dass für Zeichenfolgen, die mit „0x“ beginnen (Hexadezimalzahlen darstellen), unäre Operatoren Konvertieren können zum Dezimalwert. Daher führt die Konvertierung von „010“ mittels unärer Addition immer zu 10, während „0xB“ in 11 konvertiert wird.
var sNum="25"; //Ausgabe „string“
var iNum=+sNum; //Ausgabe „number“
Uniäre Subtraktion Negieren Sie einen numerischen Wert. Ähnlich wie der unäre Additionsoperator wandelt auch der unäre Subtraktionsoperator eine Zeichenfolge in eine Näherungszahl um und negiert auch den Wert.
var sNum = "25"; alarm(typeof sNum); //Ausgabe "string"
var iNum = -sNum; //Ausgabe "-25"
alert(typeof iNum). ); //Ausgabe „Zahl“
2. Bitoperatoren: eine Reihe von Operatoren im Zusammenhang mit Binärzeichen
Der Bitoperator NOT besteht aus dem Negationszeichen (~) äußern. Der bitweise Operator AND wird durch das kaufmännische Und-Zeichen (&) dargestellt.
Der bitweise Operator OR wird durch das Symbol (|) dargestellt.
Der bitweise Operator XOR wird durch das Symbol (^) dargestellt.
Die Linksverschiebung wird durch zwei Kleiner-als-Zeichen (<<) dargestellt.
Der vorzeichenbehaftete Rechtsverschiebungsoperator wird durch zwei Größer-als-Zeichen (>>) dargestellt.
Eine Rechtsverschiebung ohne Vorzeichen wird durch drei Größer-als-Zeichen (>>>) dargestellt.
3. Boolesche Operatoren
Es gibt drei Arten von Booleschen Operatoren, nämlich NOT, AND und OR.
1. Logisches NICHT, dargestellt durch ein Ausrufezeichen (!). Dieser Operator wird typischerweise zur Steuerung von Schleifen verwendet. Im Gegensatz zu den logischen ODER- und UND-Operatoren muss der logische NICHT-Operator einen booleschen Wert zurückgeben. Der logische NOT-Operator verhält sich wie folgt:
Wenn der Operand ein Objekt ist, wird „false“ zurückgegeben.
Wenn der Operand die Zahl 0 ist, wird „true“ zurückgegeben.
Wenn der Operand eine andere Zahl als 0 ist, wird „false“ zurückgegeben.
Wenn der Operand null ist, geben Sie true zurück.
Wenn der Operand NaN ist, geben Sie true zurück.
Wenn der Operand undefiniert ist, tritt ein Fehler auf.
Beispiel: var b = true;
while(!b){ …… }
2. Es gibt nur eine Situation, in der das Ergebnis wahr ist: wahr && wahr = wahr
Der Operand der logischen UND-Operation kann von jedem Typ sein, nicht nur von booleschen Werten. Wenn ein Operand kein primitiver boolescher Wert ist, gibt die logische UND-Operation nicht unbedingt einen booleschen Wert zurück:
Wenn ein Operand ein Objekt und der andere ein boolescher Wert ist, wird das Objekt zurückgegeben.
Wenn beide Operanden Objekte sind, geben Sie das zweite Objekt zurück.
Wenn ein Operand null ist, wird null zurückgegeben.
Wenn ein Operand NaN ist, geben Sie NaN zurück.
Wenn ein Operand undefiniert ist, tritt ein Fehler auf.
Wenn der erste Operand falsch ist, kann das Ergebnis unabhängig vom Wert des zweiten Operanden nicht wahr sein.
3. Logischer ODER-Operator, dargestellt durch doppelte vertikale Balken (||). Es gibt nur einen Fall, in dem das Ergebnis falsch ist: false || false=false; andere Fälle sind wahr.
Ähnlich wie beim logischen UND-Operator gibt die logische ODER-Operation nicht unbedingt einen booleschen Wert zurück, wenn ein Operand kein boolescher Wert ist:
Wenn ein Operand ein Objekt und der andere ein boolescher Wert ist, ist das Objekt wird zurückgegeben.
Wenn beide Operanden Objekte sind, geben Sie das erste Objekt zurück.
Wenn ein Operand null ist, wird null zurückgegeben.
Wenn ein Operand NaN ist, geben Sie NaN zurück.
Wenn ein Operand undefiniert ist, tritt ein Fehler auf.
Logisches ODER ist ebenfalls eine einfache Operation. Wenn der erste Operandenwert wahr ist, wird der zweite Operand nicht berechnet.
4. Multiplikativer Operator
1. Der Multiplikationsoperator, dargestellt durch ein Sternchen (*), wird zum Multiplizieren zweier Zahlen verwendet. Beim Umgang mit speziellen Werten weist die Multiplikation in ECMAScript jedoch auch einige besondere Verhaltensweisen auf:
Wenn die Operanden alle Zahlen sind, wird eine reguläre Multiplikationsoperation durchgeführt. Wenn das Ergebnis zu groß oder zu klein ist, ist das generierte Ergebnis Unendlich oder -. Unendlichkeit. .
Wenn ein Operand NaN ist, ist das Ergebnis NaN.
Unendlich multipliziert mit 0, das Ergebnis ist NaN.
Unendlich multipliziert mit einer beliebigen Zahl außer 0, ist das Ergebnis Unendlich oder -Unendlich, bestimmt durch das Vorzeichen des zweiten Operanden.
2. Der Divisionsoperator, dargestellt durch einen Schrägstrich (/), dividiert die erste Zahl durch die zweite Zahl. Für spezielle Werte ist das besondere Verhalten wie folgt:
Wenn die Operanden alle Zahlen sind, führen Sie die reguläre Triggeroperation aus. Wenn das Ergebnis zu groß oder zu klein ist, ist das generierte Ergebnis Unendlich oder -Unendlich.
Wenn ein Operand NaN ist, ist das Ergebnis NaN.
Wenn 0 durch eine nicht unendliche Zahl dividiert wird, ist das Ergebnis NaN.
Unendlich wird durch eine beliebige Zahl außer 0 geteilt und das Ergebnis ist Unendlich oder -Unendlich, bestimmt durch das Vorzeichen des zweiten Operanden.
3. Modulo-Operator, ausgedrückt mit Prozentzeichen (%). Wenn beide Operanden Zahlen sind, führen Sie eine reguläre arithmetische Division durch und geben Sie den Rest zurück. Besonderes Verhalten:
Wenn der Dividend unendlich ist oder der Divisor 0 ist, ist das Ergebnis NaN.
Wenn der Divisor eine unendliche Zahl ist, ist das Ergebnis der Dividend.
Wenn die Dividende 0 ist, ist das Ergebnis 0.
5. Additivoperator
1. Additionsoperator (+), besonderes Verhalten:
Ein bestimmter Operand ist NaN und das Ergebnis ist NaN.
Unendlich plus -Unendlich, das Ergebnis ist NaN.
Wenn einer der Operanden eine Zeichenfolge ist, gelten die folgenden Regeln:
Wenn beide Operanden Zeichenfolgen sind, verketten Sie die zweite Zeichenfolge mit der ersten Zeichenfolge.
Wenn nur ein Operand eine Zeichenfolge ist, konvertieren Sie den anderen Operanden in eine Zeichenfolge. Das Ergebnis ist eine aus den beiden Zeichenfolgen verkettete Zeichenfolge.
2. Subtraktionsoperator (-): Wenn beide Operanden Zahlen sind, wird eine arithmetische Subtraktion durchgeführt. Sonderregeln:
Wenn der Operand NaN ist, ist das Ergebnis NaN.
Ein Operand ist keine Zahl und das Ergebnis ist 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、赋值运算符(=) 复合赋值运算符:+=、-=、*=、/=、%=、<<=、>>=、>>>=
3、逗号运算符 用逗号运算符可以在一条语句中执行多个运算。 如: var iNum1=1,iNum2=2;
Das obige ist der detaillierte Inhalt vonZusammenfassung der acht Arten von Operatoren in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!