>  기사  >  웹 프론트엔드  >  자바스크립트 산술 연산자란 무엇입니까?

자바스크립트 산술 연산자란 무엇입니까?

青灯夜游
青灯夜游원래의
2021-07-16 11:22:465189검색

Javascript 산술 연산자에는 덧셈 연산자 "+", 뺄셈 연산자 "-", 곱셈 연산자 "*", 나누기 연산자 "/", 나머지 연산자 "%", 증가 연산자 "++" ", 감소 연산자 "--가 포함됩니다. ", 전력 연산자 "**".

자바스크립트 산술 연산자란 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

산술 연산자는 숫자(리터럴 또는 변수)에 대한 산술 연산을 수행하는 데 사용됩니다. 표준 산술 연산자는 덧셈 +, 뺄셈 -, 곱셈 *, 나눗셈 /입니다. 수학의 덧셈, 뺄셈, 곱셈, 나눗셈과 매우 유사합니다. +,减法 -,乘法 * 和除法 /。和数学里面的加减乘除很类似,我们一起来看一下。

加法运算符

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

示例:

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

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

덧셈 연산자

덧셈 연산자 +는 값을 합하는 데 사용되며 매우 간단합니다.

예:
다음은 두 숫자의 간단한 합입니다: 🎜
var i = 5;
i++;
var j = i;
console.log(j);  // 6
🎜+ 두 숫자의 합을 계산하는 것 외에도 +는 문자열을 연결하고 결과는 새 문자열입니다. 🎜🎜🎜예: 🎜🎜🎜<code>+를 사용하여 정의된 세 변수를 연결합니다. 🎜
var a = 9;
console.log(a++);  // 输出:9

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

console.log(++a);  // 输出:11
🎜또한 숫자와 문자열은 + 더하기 기호 연결을 통해 연결할 수도 있습니다. 의 경우 반환 결과도 문자열입니다. 🎜🎜🎜예:🎜🎜🎜숫자와 숫자를 더하는 것과 숫자와 문자열을 더하는 것의 차이점을 살펴보세요.🎜
var b = 7;
console.log(b--);  // 输出:7

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

console.log(--b);  // 输出:5
🎜일부 프로그래밍 언어(예: Python)에서는 다른 유형을 추가할 수 없습니다. 숫자를 문자열로 바꾸면 오류가 발생합니다. JavaScript에서는 숫자와 문자열을 추가하고 문자열을 반환합니다. 🎜

🎜뺄셈 연산자🎜

🎜뺄셈 연산자 -는 두 피연산자를 빼는 데 사용할 수 있으며 그 결과는 그 차이입니다. 🎜🎜🎜예: 🎜🎜
var x = 6;
var y = x ** 3;
console.log(y);  // 216
🎜뺄셈 연산에서 피연산자가 문자열인 경우 연산을 수행하기 전에 이를 숫자 값으로 변환해 보세요. 피연산자 중 하나가 숫자가 아니면 NaN이 반환됩니다. 🎜🎜🎜예: 🎜
🎜
var x = 6;
var y = Math.pow(x,3);
console.log(y);  // 216
🎜값을 숫자로 빠르게 변환하려면 마이너스 0 값을 사용하세요. 예를 들어 HTTP 요청의 쿼리 문자열은 일반적으로 문자열 숫자입니다. 먼저 이러한 매개변수 값에서 0을 빼서 숫자 값으로 변환할 수 있습니다. 이것은 parFloat() 메서드를 호출하는 것과 동일한 결과를 가지지만 빼기가 더 효율적이고 빠릅니다. 빼기 연산자를 사용한 암시적 변환은 실패할 경우 NaN을 반환합니다. 이는 parsFloat() 메서드를 사용하여 변환을 수행할 때의 반환 값과 다릅니다. 🎜🎜예를 들어 문자열 "100aaa"의 경우,parseFloat() 메서드는 처음 몇 개의 숫자를 구문 분석할 수 있지만 빼기 연산자의 경우 변환하려면 완전한 숫자여야 합니다. 🎜rrreee🎜부울 값의 경우, parseFloat() 메서드는 true를 1로, false를 0으로 변환할 수 있으며, 빼기 연산자는 이를 NaN으로 처리합니다. 🎜🎜객체의 경우, parseFloat() 메서드는 변환을 위해 객체의 toString() 메서드를 호출하려고 시도하는 반면, 빼기 연산자는 먼저 변환을 위해 객체의 valueOf() 메서드를 호출하려고 시도한 다음, 실패 후 변환을 위해 toString()을 호출합니다. . 🎜🎜🎜특수 피연산자의 뺄셈 연산에 주의하세요. 🎜🎜rrreee🎜🎜부정 연산🎜🎜🎜특수 피연산자의 역산에 주의하세요🎜rrreee

🎜곱셈 연산자🎜

🎜곱셈 연산자 *의 결과는 피연산자 곱입니다 의 . 🎜🎜🎜예: 🎜🎜rrreee🎜문자열을 사용하여 숫자를 곱하면 결국 잘못된 숫자인 NaN이 반환됩니다. 🎜

🎜나누기 연산자🎜

🎜나누기 연산자 /의 결과는 피연산자의 몫이고 오른쪽 피연산자는 제수입니다. 🎜🎜🎜예: 🎜🎜rrreee🎜우리가 주의해야 할 점은 JavaScript에서 1/2는 결과에 소수점이 있고 결과에도 소수점이 있다는 것입니다. 0.5 . Java와 같은 언어에서는 숫자가 명시적인 부동 소수점 숫자일 필요는 없으며 1/2의 반환 결과는 0입니다. 🎜

🎜나머지 연산자🎜

🎜백분율 기호 %는 첫 번째 피연산자의 모듈로(나머지)를 두 번째 피연산자로 반환하는 나머지 연산자입니다. 예를 들어 x % y, 결과는 xy로 나눈 나머지 정수입니다. 우리가 수학에서도 배운 나머지는 정수 트리거로 나누어지지 않은 배당금의 일부를 의미한다는 것을 누구나 알아야합니다. 🎜🎜🎜예: 🎜🎜🎜예를 들어 다음 코드는 🎜rrreee🎜출력 결과는 1입니다. 이는 실제로 9 % 2를 이해하기 쉽습니다. 2, 즉 1입니다. 🎜🎜그럼 12 % 5라면 출력은 어떻게 될까요? 12를 5로 나누면 2가 남으므로 결과는 2입니다. 이제 %를 사용하는 방법을 알아야 합니다. 🎜

🎜증분 연산자🎜

🎜증분 연산자 ++는 피연산자를 1만큼 증가시키고 숫자 값을 반환합니다. x++와 같은 접미사를 사용하는 경우 값이 증가하기 전에 반환됩니다. ++x와 같이 앞에 추가된 경우 값이 증가한 후 반환됩니다. 🎜🎜🎜예: 🎜🎜

假设我们定义了一个变量 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高级教程

위 내용은 자바스크립트 산술 연산자란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.