Heim Web-Frontend js-Tutorial Ausführliche Erklärung von Ausdrücken und Operatoren in JavaScript

Ausführliche Erklärung von Ausdrücken und Operatoren in JavaScript

Jul 29, 2017 pm 05:15 PM
javascript 表达式 运算符

In diesem Artikel werden hauptsächlich JavaScript-Ausdrücke und -Operatoren vorgestellt.

Die JavaScript-Skriptsprache beschreibt eine Reihe von Operatoren, die zum Bearbeiten von Datenwerten verwendet werden, einschließlich unärer Operatoren, arithmetischer Operatoren und relationaler Operatoren Operatoren, ternäre Operatoren, bitweise Operatoren und Zuweisungsoperatoren.
Ein Ausdruck ist eine „Phrase“ in der JavaScript-Sprache, einschließlich Variablennamen (oder Literalen) und Operatoren. Die einfachsten Ausdrücke sind Literale oder Variablennamen. Natürlich gibt es auch Möglichkeiten, einfache Ausdrücke zu komplexen Ausdrücken zu kombinieren.
1. Unäre Operatoren
(1) Inkrementieren++ und Dekrementieren--


var box1=100; 
++box1;//相当于box=box+1 
document.write("box1="+box1+"<br/>");//输出box1=101 
var box2=100; 
--box2;//相当于box=box2-1 
document.write("box2="+box2);//输出box2=99
Nach dem Login kopieren

Der Unterschied zwischen Präfix und Postfix


var box=100; 
var age=++box;//box先累加1为101,再赋值给age为101 
var height=box++;//box先赋值给height为101,box再累加为102 
document.write("age="+age+"<br/>");//输出age=101 
document.write("height="+height+"<br/>");//输出height=101 
document.write("box="+box);//输出box=102,原因是box经过了两次累加,所以是102
Nach dem Login kopieren

Ohne Zuweisungsoperation sind Präfix und Postfix dasselbe. Wenn jedoch während der Zuweisungsoperation der Inkrementierungs- oder Dekrementierungsoperator vorangestellt ist, wird der vorangehende Operator zuerst akkumuliert oder dekrementiert und dann zugewiesen. Wenn es sich um einen nachpositionierten Operator handelt, wird der Wert zuerst zugewiesen und dann akkumuliert oder dekrementiert.
(2) Additions- und Subtraktionsoperatoren
werden für positive oder negative Operationen verwendet und haben auch die Funktion, numerische Zeichenfolgen in numerische Formen umzuwandeln.


var box = "20"; 
document.write(typeof box+"<br/>"); //输出string 
var age=-box; 
document.write(age+"<br/>");//输出-20 
document.write(typeof age); //输出number
Nach dem Login kopieren

2. Arithmetische Operatoren
In der JavaScript-Sprache sind fünf arithmetische Operatoren angegeben, nämlich +, -, * , / und % (Rest). Wenn der Wert in einem arithmetischen Operator kein numerischer Wert ist, wird er zunächst mithilfe der Konvertierungsfunktion Number() in einen numerischen Wert umgewandelt (implizite Konvertierung).


var box=100+"100"; 
document.write("box="+box+"<br/>");//输出100100 
document.write(typeof box);//输出string
Nach dem Login kopieren

Warum ist das so? Wenn Sie arithmetische Operationen in der JavaScript-Sprache ausführen, wird das Ergebnis in eine Zeichenfolge konvertiert, solange eine davon eine Zeichenfolge ist. Entspricht dem String-Verkettungsoperator und kann nicht mehr als arithmetischer Additionsoperator gezählt werden.


var box="100"-10; 
document.write("box="+box+"<br/>");//输出90 
var age=5/4; 
document.write("age="+age+"<br/>");//输出1.25 
var height=("你的年龄是:"+(10+10));//括号强制优先级 
document.write(height);//输出你的年龄是:20
Nach dem Login kopieren

Holen Sie sich den Rest


var box=10%3; 
document.write("box="+box);//输出1
Nach dem Login kopieren

3. Beziehungsoperatoren
Die zum Vergleich verwendeten Operatoren werden als relationale Operatoren bezeichnet: <(kleiner als), >(größer als), <= (kleiner als oder gleich), >= (größer als oder gleich), = = (relativ), != (ungleich), === (identisch oder kongruent), !== (nicht kongruent oder nicht identisch). Die meisten relationalen Operatoren geben einen booleschen Wert zurück.
Wie bei anderen Operatoren müssen die folgenden Regeln befolgt werden, wenn relationale Operatoren mit nicht numerischen Werten arbeiten:
1. Beide Operatoren sind numerisch, dann numerische Vergleiche
2. Beide Operanden sind Zeichenfolgen. Dann wird das Zeichen verglichen Kodierungswerte, die den beiden Zeichenfolgen entsprechen
3 Wenn einer der beiden Operanden ein numerischer Wert ist, konvertieren Sie den anderen in einen numerischen Wert und führen Sie den numerischen Vergleich durch
4 Wenn einer der beiden Operanden ein Objekt ist Dann rufen Sie zuerst die Methode value () oder die Methode toString () auf und vergleichen Sie dann die Ergebnisse.


var box1=3>2; 
document.write(box1+"<br/>");//输出true 
var box2="3">22; 
document.write(box2+"<br/>");//输出false 
var box3="3">"22"; 
document.write(box3+"<br/>");//输出true 
var box4="a">"B";//a为97,B为66 
document.write(box4+"<br/>");//输出true 
var box5= "Blue"<"alpha";//Blue的第一个字母是B,alpha的第一个字母是a,a为97,B为66 
document.write(box5) //输出true
Nach dem Login kopieren

Bei Gleichheits- und Ungleichheitsvergleichen gelten die folgenden Regeln, wenn die Operanden nicht numerisch sind:
1 Ein Operand ist ein boolescher Wert , wird vor dem Vergleich in einen numerischen Wert konvertiert, false wird in 0 konvertiert und true wird in 1 konvertiert.
2. Wenn ein Operand eine Zeichenfolge ist, wird er vor dem Vergleich in einen numerischen Wert umgewandelt.
3Wenn ein Operand ein Objekt ist, rufen Sie zuerst die Methode value() oder toString() auf und vergleichen Sie dann.
4 Ohne Konvertierung sind null und undefiniert gleich
5 Wenn ein Operand NaN ist, dann gibt == false zurück, != gibt true zurück und NaN ist nicht gleich sich selbst
6 Zwei Wenn beide Operanden sind Objekte, vergleichen Sie sie, um zu sehen, ob sie dasselbe Objekt sind, geben Sie true zurück, andernfalls geben Sie false zurück
7 Bei der Beurteilung von Kongruenz und Kongruenz sind beispielsweise sowohl der Wert als auch der Typ Rückgabe true nur, wenn sie gleich sind, andernfalls wird fasle zurückgegeben.


var box1=&#39;2&#39;==2; 
document.write(box1+"<br/>");//输出true,比较的只是数值 
var box2={}=={}; 
document.write(box2+"<br/>");//输出false,因为比较的是它们的地址,每个新创建对象的引用地址都不同。 
var box3=null==undefined; 
document.write(box3+"<br/>");//输出true,因为均为空数值 
var box4=&#39;2&#39;===2; 
document.write(box4+"<br/>");//输出false,两个操作数的数据类型不相等 
var box5=null===undefined; 
document.write(box5);//输出false,两个操作数的数据类型不相等
Nach dem Login kopieren

四逻辑运算符
JavaScript语言中的逻辑运算符通常作用于布尔值的操作,一般和关系运算符配合使用,有三个逻辑运算符:&&(逻辑与),||(逻辑或)和!(逻辑非)。
(1)&&表示两边都必须是true,才返回true。
如果两边的操作数有一个操作数不是布尔值的情况下,与运算就不一定返回布尔值,此时遵循下面的规则:
1第一个操作数是对象,则返回第二个操作数
2第二操作数是对象,则第一个操作数返回true,才返回第二个操作数,否则返回false
3一个操作数是null,则返回null
4一个操作数是undefined,则返回undefined
5如果一个运算数是对象,另一个是 Boolean 值,返回该对象
逻辑与运算符属于短路操作,如果有第一个操作数返回的是false,第二个不管是true还是false都返回false。


var box1={}&&(5>4); 
document.write(box1+"<br/>");//输出true 
var box2=(5>4)&&{}; 
document.write(box2+"<br/>");//输出[object Object] 
var box3=(3>4)&&{}; 
document.write(box3);//输出false
Nach dem Login kopieren

(2)||表示两边有一个是true,就返回true。
如果两边的操作数有一个操作数不是布尔值的情况下,与运算就不一定返回布尔值,此时遵循下面的规则:
1第一个操作数是对象,则返回第一个个操作数
2第一个操作数的求值结果为fasle,则返回第二个操作数
3两个操作数都是对象,则返回第一个操作数
4两个操作数都是null,则返回null
5两个操作数都是undefined,则返回undefined
6两个操作数都是NaN,则返回NaN
逻辑或运算符也属于短路操作,如果有第一个操作数返回的是true,第二个不管是true还是false都返回true。


var box1={}||(5>4); 
document.write(box1+"<br/>");//输出[object Object] 
var box2=(5>4)||{}; 
document.write(box2+"<br/>");//输出true 
var box3=(3>4)||{}; 
document.write(box3);//输出[object Object]
Nach dem Login kopieren

(3)!逻辑非运算符可以作用与任何值,无论这个值是什么数据类型,这个运算符都会返回一个布尔值,它的流程是:先将这个值转换成布尔值,然后取反,规则如下:
1操作数是一个对象,返回false
2操作数是一个空字符串,返回true
3操作数是一个非空字符串,返回false
4操作数是数值0,返回true
5操作数是任意非0数值,返回false
6操作数是null,返回true
7操作数是NaN,返回true
8操作数是undefined,返回true


var box=!{}; 
document.write(box);//输出false
Nach dem Login kopieren

五、位运算符
JavaScript语言中包括了七种位运算符:~(位非),&(位与),|(位或),^(位异或),<<(左移),>>(有符右移号),>>>(无符号右移)
(1)位非(~)运算把运算数转换成32位数字,然后把二进制数转换成它的二进制反码,最后把二进制数转换成浮点数。实质上是对数字求负,然后减去1即为所得值。


var box=~25; 
document.write(box);//输出-26
Nach dem Login kopieren

(2)位与(&)运算直接对数字的二进制形式进行运算,然后对上下同一位置的两个数位进行与运算,只有两个数位都为1时才得出1,其余的均为0.


var box=25&3; 
document.write(box);//输出1
Nach dem Login kopieren

(3)位或(|)运算也是直接对数字的二进制形式进行计算,然后对上下同一位置的两个数位进行或运算,只右两个数位都为0时才得出0,其余的均为1.


var box=25|3; 
document.write(box);//输出27
Nach dem Login kopieren

(4)位异或(^)也是直接对二进制形式进行运算。当只有一个数位存放的是1时,它才返回1。其余的返回0。也就是两个数位相同时返回0,不同时返回1.


var box=25^3; 
document.write(box);//输出26
Nach dem Login kopieren

(5)左移运算也是对二进制数进行操作,相等于第一个操作数乘以(2的左移位数次幂)的积。


var box=25<<3; 
document.write(box);//25左移3位相当于25乘以(2的3次幂),因此输出200
Nach dem Login kopieren

(6)有符号右移运算也是对二进制数进行操作,相等于第一个操作数除以(2的右移位数次幂)的商。


var box=24>>2; 
document.write(box);//输出6
Nach dem Login kopieren

(7)无符号右移运算也是对二进制数进行操作,对于正数,与有符号右移是相同的结果,但是对于负数,就会所不同。

六、赋值运算符
赋值运算符包括:=(),+=(),-=(),*=(),/=(),%=(),<<=(),>>=(),>>>=()。


var box=100; 
box+=100;//相当于box=box+100 
document.write("box="+box);//输出box=200
Nach dem Login kopieren

七、其他运算符
1)、字符串运算符:“+”,它的作用是将两个字符串想加。规则:只要有一个字符串即可。


var box=100+"10"&#39;; 
document.write("box="+box);//输出100100
Nach dem Login kopieren

2)、逗号运算符,可以在一条语句中执行多个操作


var box=100,age=200,height=300; 
document.write("box="+box);//输出box=100
Nach dem Login kopieren

3)、三元操作符:


var box=(3>4)?"对":"错"; 
document.write(box);//输出错
Nach dem Login kopieren

      如果想更详细的了解ECMAScript运算符的知识,可以访问JavaScript高级教程中的ECMASscript一元运算符这个系列中有详细的运算符教程。对于JS的运算符来说,我们可以对比着C++,C#和Java来学,这个还是相当的容易的。

以上就是关于JavaScript的表达式与运算符的全部内容,希望对大家的学习有所帮助。

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung von Ausdrücken und Operatoren in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Mindmap der Python-Syntax: Vertiefendes Verständnis der Codestruktur Mindmap der Python-Syntax: Vertiefendes Verständnis der Codestruktur Feb 21, 2024 am 09:00 AM

Python wird aufgrund seiner einfachen und leicht lesbaren Syntax in einer Vielzahl von Bereichen häufig verwendet. Es ist von entscheidender Bedeutung, die Grundstruktur der Python-Syntax zu beherrschen, um sowohl die Programmiereffizienz zu verbessern als auch ein tiefes Verständnis für die Funktionsweise des Codes zu erlangen. Zu diesem Zweck bietet dieser Artikel eine umfassende Mindmap, die verschiedene Aspekte der Python-Syntax detailliert beschreibt. Variablen und Datentypen Variablen sind Container, die zum Speichern von Daten in Python verwendet werden. Die Mindmap zeigt gängige Python-Datentypen, einschließlich Ganzzahlen, Gleitkommazahlen, Zeichenfolgen, boolesche Werte und Listen. Jeder Datentyp hat seine eigenen Eigenschaften und Betriebsmethoden. Operatoren Operatoren werden verwendet, um verschiedene Operationen an Datentypen auszuführen. Die Mindmap deckt die verschiedenen Operatortypen in Python ab, z. B. arithmetische Operatoren und Verhältnisse

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Dec 17, 2023 pm 05:13 PM

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Analyse der Bedeutung und Verwendung des +=-Operators in der C-Sprache Analyse der Bedeutung und Verwendung des +=-Operators in der C-Sprache Apr 03, 2024 pm 02:27 PM

Der Operator += wird verwendet, um den Wert des linken Operanden zum Wert des rechten Operanden zu addieren und das Ergebnis dem linken Operanden zuzuweisen. Er ist für numerische Typen geeignet und der linke Operand muss beschreibbar sein.

So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript Jan 05, 2024 pm 01:37 PM

Einführung in die Methode zum Abrufen des HTTP-Statuscodes in JavaScript: Bei der Front-End-Entwicklung müssen wir uns häufig mit der Interaktion mit der Back-End-Schnittstelle befassen, und der HTTP-Statuscode ist ein sehr wichtiger Teil davon. Das Verstehen und Abrufen von HTTP-Statuscodes hilft uns, die von der Schnittstelle zurückgegebenen Daten besser zu verarbeiten. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript HTTP-Statuscodes erhalten, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist ein HTTP-Statuscode? HTTP-Statuscode bedeutet, dass der Dienst den Dienst anfordert, wenn er eine Anfrage an den Server initiiert

Python-Operatoren: Der ultimative Leitfaden vom Neuling bis zum Meister Python-Operatoren: Der ultimative Leitfaden vom Neuling bis zum Meister Mar 11, 2024 am 09:13 AM

Einführung in Python-Operatoren Operatoren sind spezielle Symbole oder Schlüsselwörter, die zum Ausführen von Operationen zwischen zwei oder mehr Operanden verwendet werden. Python bietet eine Vielzahl von Operatoren, die ein breites Anwendungsspektrum abdecken, von grundlegenden mathematischen Operationen bis hin zu komplexen Datenmanipulationen. Mathematische Operatoren Mathematische Operatoren werden zur Durchführung allgemeiner mathematischer Operationen verwendet. Dazu gehören: Beispiele für Operatoroperationen + Addition a + b - Subtraktion a-b * Multiplikation a * b / Division a / b % Modulo-Operation (nehmen Sie den Rest) a % b ** Potenzoperation a ** b // Ganzzahldivision (verwerfen Sie die Rest) a//b Logische Operatoren Logische Operatoren werden verwendet, um boolesche Werte zu verketten und Bedingungen auszuwerten. Dazu gehören: Beispiele für Operatoroperationen und logische und aorbnot logische oder aorbnot logische Nota-Vergleichsoperationen

So sortieren Sie die Operatorpriorität in der Go-Sprache So sortieren Sie die Operatorpriorität in der Go-Sprache Dec 21, 2023 pm 05:03 PM

In der Go-Sprache werden Operatoren in der Reihenfolge von hoher zu niedriger Priorität ausgewertet. Die Rangfolge allgemeiner Operatoren: 1. Klammern: (höchste Priorität, wird verwendet, um die Reihenfolge der Operationen zu erzwingen); 7. Vergleichsoperator; 9. Bedingungsoperator; 10. Zuweisungsoperator;

See all articles