Heim  >  Artikel  >  Web-Frontend  >  Was sind die arithmetischen Operatoren in Javascript?

Was sind die arithmetischen Operatoren in Javascript?

青灯夜游
青灯夜游Original
2021-07-16 11:22:465200Durchsuche

Zu den arithmetischen Javascript-Operatoren gehören: Additionsoperator „+“, Subtraktionsoperator „-“, Multiplikationsoperator „*“, Divisionsoperator „/“, Restoperator „%“, Inkrementoperator „++“, Dekrementoperator „-- ", Energiebetreiber "**".

Was sind die arithmetischen Operatoren in Javascript?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Arithmetische Operatoren werden verwendet, um arithmetische Operationen an Zahlen (Literal oder Variablen) durchzuführen. Die standardmäßigen arithmetischen Operatoren sind Addition +, Subtraktion -, Multiplikation * und Division /. Es ist der Addition, Subtraktion, Multiplikation und Division in der Mathematik sehr ähnlich. Schauen wir es uns gemeinsam an. +,减法 -,乘法 * 和除法 /。和数学里面的加减乘除很类似,我们一起来看一下。

加法运算符

加法运算符 + 的作用是数值求和,这个应该很简单。

示例:

下面是简单的求两数之和:

var a = 8;
var b = a + 5;
console.log(b);  // 13

+ 激发运算符除了计算两数之和,我们可以通过 + 连接字符串,得到的结果是一个新的字符串。

示例:

使用 + 将定义好的三个变量连接:

str1 = "hello";
str2 = "xkd";
str3 = " ";
console.log(str1 + str3 + str2);  // 输出: hello xkd

除此之外,数字和一个字符串也可以通过 + 加号连接,返回结果同样为一个字符串。

示例:

看一下数字与数字相加,数字与字符串相加有什么不同:

num1 = 10;
num2 = 15;
str1 = "15"

console.log(num1 + num2 );  // 输出: 25
console.log(num1 + str1 );  // 输出:1015

注意在某些编程语言(例如Python)中不同类型是不能进行相加的,例如数字加字符串会报错。而 JavaScript 中数字和字符串相加,返回一个字符串。

减法运算符

减法运算符 - 可以用于两个操作数相减,结果为它们的差值。

示例:

var c = 8;
var d = c - 5;
console.log(d);  // 3

在减法运算中,如果操作数为字符串,先尝试把它转换为数值,再进行运算。如果有一个操作数不是数字,则返回 NaN。

示例:

console.log(2 - "1");  //返回1
console.log(2 - "a");  //返回NaN

使用值减去 0,可以快速把值转换为数字。例如 HTTP 请求中查询字符串一般都是字符串型数字,可以先把这些参数值减去 0 转换为数值。这与调用 parseFloat() 方法的结果相同,但减法更高效、快捷。减法运算符的隐性转换如果失败,则返回 NaN,这与使用 parseFloat() 方法执行转换时的返回值是不同的。

例如,对于字符串“100aaa”而言,parseFloat() 方法能够解析出前面几个数字,而对于减法运算符来说,则必须是完整的数字,才可以进行转换。

console.log(parseFloat("100aaa"));  //返回100
console.log("100aaa" - 0);  //返回NaN

对于布尔值来说,parseFloat() 方法能够把 true 转换为 1,把 false 转换为 0,而减法运算符视其为 NaN。

对于对象来说,parseFloat() 方法会尝试调用对象的 toString() 方法进行转换,而减法运算符先尝试调用对象的 valueOf() 方法进行转换,失败之后再调用 toString() 进行转换。

注意特殊操作数的减法运算。

var n = 5;  //定义并初始化任意一个数值
console.log(NaN - n);  //NaN与任意操作数相减,结果都是NaN
console.log(Infinity - n);  //Infinity与任意操作数相减,结果都是Infinity
console.log(Infinity - Infinity);  //Infinity与Infinity相减,结果是NaN
console.log((-Infinity) - (-Infinity));  //负Infinity相减,结果是NaN
console.log((-Infinity) - Infinity);  //正负Infinity相减,结果是-Infinity

取反运算

注意特殊操作数的取反运算

console.log(- 5);  //返回-5。正常数值取负数
console.log(- "5");  //返回-5。先转换字符串数字为数值类型
console.log(- "a");  //返回NaN。无法完全匹配运算,返回NaN
console.log(- Infinity);  //返回-Infinity
console.log(- (- Infinity));  //返回Infinity
console.log(- NaN);  //返回NaN

乘法运算符

乘法运算符 * 的结果是操作数的乘积。

示例:

var e = (8 + 5) * 3;
var f = 'xkd' * 3;
console.log(e);  // 输出:39
console.log(f);  // 输出:NaN

如果我们使用一个字符串与一个数字相乘,最终返回一个NaN,即非法数。

除法运算符

除法运算符 / 的结果是操作数的商 ,左操作数是被除数,右操作数是除数。

示例:

var g = (9 - 3) / 3;
var h = 3.0 / 1.0;
var i = 1 / 2;

console.log(g);  //输出:2
console.log(h);  //输出:3
console.log(i);  //输出:0.5

我们需要注意的是,在 JavaScript 中 1 / 2 这种结果带小数点的运算,结果会带小数点,例如 0.5。而在 Java 等语言中,不需要数字是明确的浮点数,1 / 2 的返回结果为0。

求余运算符

百分号 % 是求余运算符,返回第一个操作数对第二个操作数的模(余数),例如 x % y,得到的结果是x 除以y 的整型余数。余数大家应该知道,我们在数学中也学过,就是指整数触发中被除数未被除尽的部分。

示例:

例如下面这段代码:

var m = 9;
var n = 2;
var mn = m % n;
console.log(mn);  //输出: 1

输出结果为1,这其实很好理解,9 % 2 就是求 9 除以 2 的余数,就是1。

那么如果是 12 % 5 呢,输出结果会是什么? 12除以5会余2,所以结果结果为2。现在你应该知道 % 要怎么使用了吧。

递增运算符

递增运算符 ++ 为其操作数增加1,并返回一个数值。如果使用后置,如x++,将会在递增前返回数值。如果前置,如 ++x

Additionsoperator

Der Additionsoperator + wird zum Summieren der Werte verwendet, was sehr einfach sein sollte.

Beispiel:
Das Folgende ist eine einfache Summe zweier Zahlen: 🎜
var i = 5;
i++;
var j = i;
console.log(j);  // 6
🎜+ Zusätzlich zur Berechnung der Summe zweier Zahlen können wir + verkettet Zeichenfolgen und das Ergebnis ist eine neue Zeichenfolge. 🎜🎜🎜Beispiel: 🎜🎜🎜Verwenden Sie <code>+, um die drei definierten Variablen zu verbinden: 🎜
var a = 9;
console.log(a++);  // 输出:9

console.log(a);    // 输出:10

console.log(++a);  // 输出:11
🎜Darüber hinaus können Zahlen und eine Zeichenfolge auch über + verbunden werden, wenn verbunden mit B. ein Pluszeichen, ist das zurückgegebene Ergebnis ebenfalls eine Zeichenfolge. 🎜🎜🎜Beispiel:🎜🎜🎜Sehen Sie sich den Unterschied zwischen dem Hinzufügen von Zahlen und Zahlen und dem Hinzufügen von Zahlen und Zeichenfolgen an:🎜
var b = 7;
console.log(b--);  // 输出:7

console.log(b);    // 输出:6

console.log(--b);  // 输出:5
🎜Beachten Sie, dass in einigen Programmiersprachen (z. B. Python) verschiedene Typen nicht hinzugefügt werden können, z. B. Hinzufügen von a Die Angabe einer Zahl in einer Zeichenfolge führt zu einem Fehler. In JavaScript werden Zahlen und Zeichenfolgen hinzugefügt und eine Zeichenfolge zurückgegeben. 🎜

🎜Subtraktionsoperator🎜

🎜Der Subtraktionsoperator - kann verwendet werden, um zwei Operanden zu subtrahieren, und das Ergebnis ist ihre Differenz. 🎜🎜🎜Beispiel: 🎜🎜
var x = 6;
var y = x ** 3;
console.log(y);  // 216
🎜Wenn der Operand bei einer Subtraktionsoperation eine Zeichenfolge ist, versuchen Sie, ihn in einen numerischen Wert umzuwandeln, bevor Sie die Operation ausführen. Wenn einer der Operanden keine Zahl ist, wird NaN zurückgegeben. 🎜🎜🎜Beispiel: 🎜
🎜
var x = 6;
var y = Math.pow(x,3);
console.log(y);  // 216
🎜Verwenden Sie den Wert minus 0, um den Wert schnell in eine Zahl umzuwandeln. Beispielsweise handelt es sich bei Abfragezeichenfolgen in HTTP-Anforderungen im Allgemeinen um Zeichenfolgenzahlen. Von diesen Parameterwerten können Sie zunächst 0 abziehen, um sie in numerische Werte umzuwandeln. Dies hat das gleiche Ergebnis wie der Aufruf der Methode parseFloat(), die Subtraktion ist jedoch effizienter und schneller. Implizite Konvertierungen mit dem Subtraktionsoperator geben NaN zurück, wenn sie fehlschlagen, was sich vom Rückgabewert unterscheidet, wenn die Konvertierung mit der Methode parseFloat() durchgeführt wird. 🎜🎜Zum Beispiel kann die Methode parseFloat() für die Zeichenfolge „100aaa“ die ersten paar Zahlen analysieren, aber für den Subtraktionsoperator muss es eine vollständige Zahl sein, bevor sie konvertiert werden kann. 🎜rrreee🎜Für boolesche Werte kann die Methode parseFloat() „true“ in 1 und „false“ in 0 konvertieren, während der Subtraktionsoperator sie als NaN behandelt. 🎜🎜Bei Objekten versucht die parseFloat()-Methode, die toString()-Methode des Objekts zur Konvertierung aufzurufen, während der Subtraktionsoperator zunächst versucht, die valueOf()-Methode des Objekts zur Konvertierung aufzurufen, und nach einem Fehler dann toString() zur Konvertierung aufruft . 🎜🎜🎜Achten Sie auf die Subtraktionsoperation spezieller Operanden. 🎜🎜rrreee🎜🎜Negationsoperation🎜🎜🎜Achten Sie auf die Inversionsoperation spezieller Operanden🎜rrreee

🎜Multiplikationsoperator🎜

🎜Das Ergebnis des Multiplikationsoperators * ist das Operandenprodukt von . 🎜🎜🎜Beispiel: 🎜🎜rrreee🎜Wenn wir eine Zeichenfolge zum Multiplizieren einer Zahl verwenden, wird letztendlich ein NaN zurückgegeben, was eine illegale Zahl ist. 🎜

🎜Divisionsoperator🎜

🎜Das Ergebnis des Divisionsoperators / ist der Quotient der Operanden. Der linke Operand ist der Dividend und der rechte Operand ist der Divisor. 🎜🎜🎜Beispiel: 🎜🎜rrreee🎜Was wir beachten müssen, ist, dass in JavaScript 1 / 2 einen Dezimalpunkt im Ergebnis hat und das Ergebnis einen Dezimalpunkt hat, z 0,5 . In Sprachen wie Java muss die Zahl keine explizite Gleitkommazahl sein und das Rückgabeergebnis von 1 / 2 ist 0. 🎜

🎜Restoperator🎜

🎜Das Prozentzeichen % ist der Restoperator, der den Modulo (Rest) des ersten Operanden an den zweiten Operanden zurückgibt, zum Beispiel x % y, das Ergebnis ist der ganzzahlige Rest von x dividiert durch y. Jeder sollte wissen, dass sich der Rest, den wir auch in der Mathematik gelernt haben, auf den Teil des Dividenden bezieht, der nicht durch den ganzzahligen Trigger geteilt wird. 🎜🎜🎜Beispiel: 🎜🎜🎜Zum Beispiel der folgende Code: 🎜rrreee🎜Das Ausgabeergebnis ist 1, was eigentlich leicht zu verstehen ist, um den Rest von 9 dividiert durch zu finden 2, also 1. 🎜🎜Wenn es also 12 % 5 ist, wie wird die Ausgabe sein? Wenn man 12 durch 5 dividiert, bleibt ein Rest von 2 übrig, das Ergebnis ist also 2. Jetzt sollten Sie wissen, wie man % verwendet. 🎜

🎜Inkrementoperator🎜

🎜Der Inkrementoperator ++ erhöht seinen Operanden um 1 und gibt einen numerischen Wert zurück. Wenn ein Postfix verwendet wird, z. B. x++, wird der Wert vor der Erhöhung zurückgegeben. Bei Voranstellung wie ++x wird der Wert nach dem Erhöhen zurückgegeben. 🎜🎜🎜Beispiel: 🎜🎜

假设我们定义了一个变量 i,然后使用自增运算符对 i 进行递增运算,将递增后的 i 赋值给了变量 j,最终j 的输出结果为 6:

var i = 5;
i++;
var j = i;
console.log(j);  // 6

那为什么结果会是6呢,i++ 其实就是表示在 i 的基础上加一,相当于i + 1

然后我们看一下递增运算符前置和后置,到底有什么区别,例如下面这个代码:

var a = 9;
console.log(a++);  // 输出:9

console.log(a);    // 输出:10

console.log(++a);  // 输出:11
  • 变量 a 的值为9,然后使用后置递增运算符a++,第一次输出会在递增之前就返回数值,即输出结果还是 9。
  • 然后此时输出 a 的值,可以看到 a 的值已经为10了,因为已经执行了一次递增运算符,所以加 1。
  • 接着第三次输出时,使用前置递增运算符,这会在递增之后才返回数值,即输出结果为11。

递减运算符

递减运算符 -- 为其操作数减去1,并返回一个数值。递减运算符和递增运算符的使用方法差不多,一个是减、一个是加,正好相反。

如果后置使用递减运算符,则在递减之前返回数值。如果前置使用,则在递减之后返回数值。

示例:

var b = 7;
console.log(b--);  // 输出:7

console.log(b);    // 输出:6

console.log(--b);  // 输出:5
  • 变量b的值为7,然后使用后置递减运算符b--,会在递减之钱返回数值,即7。
  • 然后第二次输出变量b,此时已经成功执行b-- ,会在此基础上减1,所以输出6。
  • 第三次输出--b,使用后置递减运算符,会在递减之后返回数值,所以会输出5。

幂运算符

幂运算符 ** 返回第一个操作数做底数,第二个操作数做指数的乘方。例如5 ** 2 表示 5 的 2 次方,根据所学数学知道就能得出结果为25。

示例:

下面这个代码表示求 6 的 3 次方,相当于 6 * 6 * 6,结果为216:

var x = 6;
var y = x ** 3;
console.log(y);  // 216

上面的运算出的结果与 Math.pow(x, y) 是相同的,例如:

var x = 6;
var y = Math.pow(x,3);
console.log(y);  // 216

pow()方法可返回 x 的 y 次幂的值。

【推荐学习:javascript高级教程

Das obige ist der detaillierte Inhalt vonWas sind die arithmetischen Operatoren in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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