JavaScript操作符之算数操作符

简介: JavaScript操作符之算数操作符

1 算数操作符

+、-、*、/、 %我们归为算数操作符(二元算数),这几个是最简单的操作符。

1.1 +(加)

加法操作符(+)用于求两个数的和。

let result = 1 + 2 + 3;

复制

这里不多说,如果两个操作数都是数字,那就是相加,如果有一方是字符串,那就是两个操作数拼接。遵循如下规则

  • 如果有任一操作数是 NaN,则返回 NaN;
  • 如果两个操作数都是字符串,则将第二个字符串拼接到第一个字符串后面;
  • 如果只有一个操作数是字符串,则将另一个操作数转换为字符串,再将两个字符串拼接在一起。

1.2 -(减)

减法操作符(-)也是使用很频繁的一种操作符

let result = 2 - 1 - 1;

复制

  • 如果两个操作数都是数值,则执行数学减法运算并返回结果。
  • 如果有任一操作数是 NaN,则返回 NaN。
  • 如果有任一操作数是字符串、布尔值、null 或 undefined,则先在后台使用 Number()将其转换为数值,然后再根据前面的规则执行数学运算。如果转换结果是 NaN,则减法计算的结果是NaN。
  • 如果有任一操作数是对象,则调用其 valueOf()方法取得表示它的数值。如果该值是 NaN,则减法计算的结果是 NaN。如果对象没有 valueOf()方法,则调用其 toString()方法,然后再将得到的字符串转换为数值。

1.3 *(乘)

乘法操作符由一个星号(*)表示,可以用于计算两个数值的乘积。

let result = 11 * 22;

复制

执行数学乘法,但是有一些特殊情况,

  • 如果有任一操作数是 NaN,则返回 NaN
  • 如果有不是数值的操作数,则先在后台用 Number()将其转换为数值,然后再操作。

1.4 /(除)

除法操作符由一个斜杠(/)表示,用于计算第一个操作数除以第二个操作数的商。

let result = 90 / 10;

复制

和乘法一样,也会有特殊情况

  • 如果有任一操作数是 NaN,则返回 NaN
  • 如果是 0 除以 0,则返回 NaN。
  • 如果有不是数值的操作数,则先在后台用 Number()函数将其转换为数值,然后再操作。

1.5 %(取模)

百分比符号(%)表示,取余数。

let result = 101 % 10;

复制

上面result结果等于1。

2 递增和递减

2.1 递增

var age = 29;
++age;
//相当于
var age = 29;
age = age + 1;

复制

递增++运算符对其操作数进行增量(加1)操作。

2.2 递减

var age = 29;
--age;
//相当于
var age = 29;
age = age - 1;

复制

递增--运算符对其操作数进行增量(减1)操作。

这里面有个小知识点,a++和++a有什么区别?

let a = 1
let c = a++
let b = 1
let d = ++b
console.log(a)
console.log(b)
console.log(c)
console.log(d)

复制

猜测下,a、b、c、d各是多少,除了c等于1外,其余都是2,区别就是++a,是先对a+1,然后在使用a,a++是先使用a,然后在对a+1,递减和上面一样。

相关文章
|
1月前
|
JavaScript 前端开发 安全
javascript中的可选链操作符
javascript中的可选链操作符
|
1月前
egg.js 24.12sequelize模型-where操作符
egg.js 24.12sequelize模型-where操作符
25 1
egg.js 24.12sequelize模型-where操作符
|
8月前
|
JavaScript 前端开发 索引
JavaScript Day02 操作符及类型转换与流程控制语句 3
JavaScript Day02 操作符及类型转换与流程控制语句 3
42 0
|
8月前
|
Web App开发 JavaScript 前端开发
JavaScript Day02 操作符及类型转换与流程控制语句 1
JavaScript Day02 操作符及类型转换与流程控制语句 1
49 0
|
8月前
|
JavaScript
JS new操作符的具体干了什么?
JS new操作符的具体干了什么?
37 1
|
5月前
|
存储 JavaScript 前端开发
javascript基本语法学习(变量、数据类型、操作符、条件语句、循环)
javascript基本语法学习(变量、数据类型、操作符、条件语句、循环)
|
7月前
|
JavaScript 前端开发
谈谈 JavaScript 中的空值合并操作符 Nullish coalescing operator
谈谈 JavaScript 中的空值合并操作符 Nullish coalescing operator
33 0
|
7月前
|
JavaScript
【new操作符做了什么 —— js】
【new操作符做了什么 —— js】
|
8月前
|
JavaScript 前端开发
JavaScript Day02 操作符及类型转换与流程控制语句 2
JavaScript Day02 操作符及类型转换与流程控制语句 2
56 0
|
8月前
|
JavaScript 前端开发
JavaScript -- 操作符和逻辑运算
JavaScript -- 操作符和逻辑运算