搜索
首页web前端前端问答javascript怎么实现加减乘除运算

实现方法:1、利用“+”、“-”、“*”、“/”、“%”符,可实现加法、减法、乘法、除法和取余运算;2、利用“+=”、“-=”、“*=”、“/=”符,会先进行加减乘除运算,再将结果赋值给运算符左侧的变量;3、利用“++x”或“x++”符对变量的值进行自增(+1),利用利用“--x”或“x--”符对变量的值进行自减(-1)。

javascript怎么实现加减乘除运算

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

在javascript中,可以利用运算符实现加减乘除四则运算。运算符是用来告诉 JavaScript 引擎执行某种操作的符号,例如加号(+)表示执行加法运算,减号(-)表示执行减法运算等。

一:算术运算符

算数运算符用来执行常见的数学运算,例如加法、减法、乘法、除法等,下表中列举了 JavaScript 中支持的算术运算符:

运算符 描述 示例
+ 加法运算符 x + y 表示计算 x 加 y 的和
- 减法运算符 x - y 表示计算 x 减 y 的差
* 乘法运算符 x * y 表示计算 x 乘 y 的积
/ 除法运算符 x / y 表示计算 x 除以 y 的商
% 取模(取余)运算符 x % y 表示计算 x 除以 y 的余数

加法运算符

示例1

注意特殊操作数的求和运算。

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

示例2

加运算符能够根据操作数的数据类型,决定是相加操作,还是相连操作。

console.log(1 + 1);  //如果操作数都是数值,则进行相加运算
console.log(1 + "1");  //如果操作数中有一个是字符串,则进行相连运算
console.log(3.0 + 4.3 + "");  //先求和,再连接,返回"7.3"
console.log(3.0 + "" + 4.3);  //先连接,再连接,返回"34.3"
                              //3.0转换为字符串3

在使用加法运算符时,应先检查操作数的数据类型是否符合需要。

减法运算符

示例1

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

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

示例2

在减法运算中,如果操作数为字符串,先尝试把它转换为数值,再进行运算。如果有一个操作数不是数字,则返回 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 * (- n));  //Infinity与任意非零负数相乘,结果是-Infinity
console.log(Infinity * 0);  //Infinity与0相乘,结果是NaN
console.log(Infinity * Infinity);  //Infinity与Infinity相乘,结果是Infinity

除法运算符

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

var  n = 5;  //定义并初始化任意一个数值
console.log(NaN / n);  //如果一个操作数是NaN,结果都是NaN
console.log(Infinity / n);  //Infinity被任意数字除,结果是Infinity或-Infinity
                            //符号由第二个操作数的符号决定
console.log(Infinity / Infinity);  //返回NaN
console.log(n / 0);  //0除一个非无穷大的数字,结果是Infinity或-Infinity,符号由第二个操作数的符号决定
console.log(n / -0);  //返回-Infinity,解释同上

求余运算符

求余运算也称模运算例如:

console.log(3 % 2);  //返回余数1

模运算主要针对整数进行操作,也适用于浮点数。例如:

console.log(3.1 % 2.3);  //返回余数0.8000000000000003

示例

注意特殊操作数的求余运算。

var n = 5;  //定义并初始化任意一个数值
console.log(Infinity % n);  //返回NaN
console.log(Infinity % Infinity);  //返回NaN
console.log(n % Infinity);  //返回5
console.log(0 % n);  //返回0
console.log(0 % Infinity);  //返回0
console.log(n % 0);  //返回NaN
console.log(Infinity % 0);  //返回NaN

二:赋值运算符

赋值运算符用来为变量赋值,有以下两种形式:

  • 简单的赋值运算 = :把等号右侧操作数的值直接复制给左侧的操作数,因此左侧操作数的值会发生变化。

  • 附加操作的赋值运算:赋值之前先对右侧操作数执行某种操作,然后把运算结果复制给左侧操作数。

一些附加操作的赋值运算就可以实现加减乘除四则运算。具体说明如表所示:

实现加减乘除四则运算的附加操作的赋值运算符
赋值运算符 说明 示例 等效于
+= 加法运算或连接操作并赋值 a += b a = a + b
-= 减法运算并赋值 a -= b a= a - b
*= 乘法运算并赋值 a *= b a = a * b
/= 除法运算并赋值 a /= b a = a / b
%= 取模运算并赋值 a %= b a = a % b

示例代码如下:

var x = 10;
x += 20;
console.log(x);  // 输出:30
var x = 12,
    y = 7;
x -= y;
console.log(x);  // 输出:5
x = 5;
x *= 25;
console.log(x);  // 输出:125
x = 50;
x /= 10;
console.log(x);  // 输出:5
x = 100;
x %= 15;
console.log(x);  // 输出:10

三:自增、自减运算符

自增、自减运算符用来对变量的值进行自增(+1)、自减(-1)操作,下表中列举了 JavaScript 中支持的自增、自减运算符:

运算符 名称 影响
++x 自增运算符 将 x 加 1,然后返回 x 的值
x++ 自增运算符 返回 x 的值,然后再将 x 加 1
--x 自减运算符 将 x 减 1,然后返回 x 的值
x-- 自减运算符 返回 x 的值,然后将 x 减 1

示例代码如下:

var x;

x = 10;
console.log(++x);  // 输出:11
console.log(x);    // 输出:11

x = 10;
console.log(x++);  // 输出:10
console.log(x);    // 输出:11

x = 10;
console.log(--x);  // 输出:9
console.log(x);    // 输出:9

x = 10;
console.log(x--);  // 输出:10
console.log(x);    // 输出:9

【相关推荐:javascript视频教程编程基础视频

以上是javascript怎么实现加减乘除运算的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
React与后端框架:比较React与后端框架:比较Apr 13, 2025 am 12:06 AM

React是前端框架,用于构建用户界面;后端框架用于构建服务器端应用程序。React提供组件化和高效的UI更新,后端框架提供完整的后端服务解决方案。选择技术栈时需考虑项目需求、团队技能和可扩展性。

HTML和React:标记与组件之间的关系HTML和React:标记与组件之间的关系Apr 12, 2025 am 12:03 AM

HTML和React的关系是前端开发的核心,它们共同构建现代Web应用的用户界面。1)HTML定义内容结构和语义,React通过组件化构建动态界面。2)React组件使用JSX语法嵌入HTML,实现智能渲染。3)组件生命周期管理HTML渲染,根据状态和属性动态更新。4)使用组件优化HTML结构,提高可维护性。5)性能优化包括避免不必要渲染,使用key属性,保持组件单一职责。

反应与前端:建立互动体验反应与前端:建立互动体验Apr 11, 2025 am 12:02 AM

React是构建交互式前端体验的首选工具。1)React通过组件化和虚拟DOM简化UI开发。2)组件分为函数组件和类组件,函数组件更简洁,类组件提供更多生命周期方法。3)React的工作原理依赖虚拟DOM和调和算法,提高性能。4)状态管理使用useState或this.state,生命周期方法如componentDidMount用于特定逻辑。5)基本用法包括创建组件和管理状态,高级用法涉及自定义钩子和性能优化。6)常见错误包括状态更新不当和性能问题,调试技巧包括使用ReactDevTools和优

React和前端堆栈:工具和技术React和前端堆栈:工具和技术Apr 10, 2025 am 09:34 AM

React是一个用于构建用户界面的JavaScript库,其核心是组件化和状态管理。1)通过组件化和状态管理简化UI开发。2)工作原理包括调和和渲染,优化可通过React.memo和useMemo实现。3)基本用法是创建并渲染组件,高级用法包括使用Hooks和ContextAPI。4)常见错误如状态更新不当,可使用ReactDevTools调试。5)性能优化包括使用React.memo、虚拟化列表和CodeSplitting,保持代码可读性和可维护性是最佳实践。

React在HTML中的作用:增强用户体验React在HTML中的作用:增强用户体验Apr 09, 2025 am 12:11 AM

React通过JSX与HTML结合,提升用户体验。1)JSX嵌入HTML,使开发更直观。2)虚拟DOM机制优化性能,减少DOM操作。3)组件化管理UI,提高可维护性。4)状态管理和事件处理增强交互性。

REACT组件:在HTML中创建可重复使用的元素REACT组件:在HTML中创建可重复使用的元素Apr 08, 2025 pm 05:53 PM

React组件可以通过函数或类定义,封装UI逻辑并通过props接受输入数据。1)定义组件:使用函数或类,返回React元素。2)渲染组件:React调用render方法或执行函数组件。3)复用组件:通过props传递数据,构建复杂UI。组件的生命周期方法允许在不同阶段执行逻辑,提升开发效率和代码可维护性。

反应严格模式目的反应严格模式目的Apr 02, 2025 pm 05:51 PM

React严格模式是一种开发工具,可通过激活其他检查和警告来突出反应应用中的潜在问题。它有助于识别遗产代码,不安全的生命周期和副作用,鼓励现代反应实践。

反应碎片使用反应碎片使用Apr 02, 2025 pm 05:50 PM

React片段允许将儿童分组而没有额外的DOM节点,增强结构,性能和可访问性。他们支持钥匙以进行有效的列表渲染。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器