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,递减和上面一样。

相关文章
|
6月前
|
JavaScript 前端开发 算法
JavaScript 中算术操作符:全面解读、实战应用与最佳实践
【4月更文挑战第5天】本文探讨JavaScript中的算术操作符,包括加、减、乘、除、求余、自增、自减及复合赋值等,强调理解与熟练运用它们对提升编程效率和代码准确性的重要性。文中通过示例介绍了各种操作符的用法,同时提醒注意数据类型转换、浮点数精度、除以零错误以及利用短路求值优化逻辑等问题。通过学习,读者能更好地掌握算术操作符在不同场景的应用,提升编程技能。
75 1
|
6月前
|
JavaScript 前端开发 安全
javascript中的可选链操作符
javascript中的可选链操作符
|
1月前
|
JavaScript 前端开发
JavaScript Math(算数) 对象
JavaScript Math(算数) 对象
20 4
|
3月前
|
JavaScript 前端开发 开发者
深入解析JavaScript中的比较操作符
【8月更文挑战第20天】
25 0
|
6月前
|
JavaScript 前端开发
探索JavaScript中的New操作符:原理与使用
探索JavaScript中的New操作符:原理与使用
|
6月前
egg.js 24.12sequelize模型-where操作符
egg.js 24.12sequelize模型-where操作符
60 1
egg.js 24.12sequelize模型-where操作符
|
JavaScript
JS new操作符的具体干了什么?
JS new操作符的具体干了什么?
55 1
|
JavaScript 前端开发 索引
JavaScript Day02 操作符及类型转换与流程控制语句 3
JavaScript Day02 操作符及类型转换与流程控制语句 3
71 0
|
Web App开发 JavaScript 前端开发
JavaScript Day02 操作符及类型转换与流程控制语句 1
JavaScript Day02 操作符及类型转换与流程控制语句 1
74 0
|
6月前
|
JavaScript 前端开发
JavaScript Math(算数)对象
JavaScript Math(算数)对象
49 0