如何在 JavaScript 中使用运算符进行数学运算

2023-11-06

介绍

数学运算是任何编程语言最基本和通用的功能之一。在 JavaScript 中,数字经常用于常见任务,例如查找浏览器窗口大小、获取货币交易的最终价格以及计算网站文档中元素之间的距离。

尽管对数学的高度理解并不是成为一名有能力的开发人员的先决条件,但了解 JavaScript 中可用的操作类型以及如何使用数学作为工具来完成实际任务非常重要。

与其他编程语言不同,JavaScript 只有一种数字数据类型;例如,整数(正整数或负整数)和浮点数(带小数点的数字)之间没有区别。

在本教程中,我们将介绍算术运算符、赋值运算符以及与 JavaScript 数字数据类型一起使用的运算顺序。

算术运算符

算术运算符是指示数学运算并返回值的符号。在等式中3 + 7 = 10, the +是代表加法的语法。

JavaScript 有许多熟悉的基础数学运算符,以及一些特定于编程的附加运算符。

这是 JavaScript 算术运算符的参考表。

Operator Syntax Example Definition
Addition + x + y Sum of x and y
Subtraction - x - y Difference of x and y
Multiplication * x * y Product of x and y
Division / x / y Quotient of x and y
Modulo % x % y Remainder of x / y
Exponentiation ** x ** y x to the y power
Increment ++ x++ x plus one
Decrement -- x-- x minus one

我们将在本文中更详细地介绍每个运算符。

加减

Addition and 减法JavaScript 中提供了运算符,可用于求数值的和与差。 JavaScript有一个内置的计算器,可以直接在控制台中完成数学运算。

我们可以对数字进行一些简单的加法,例如相加10 and 20,使用加号 (+).

10 + 20;
Output
30

除了使用普通数字进行数学运算之外,我们还可以将数字分配给变量并执行相同的计算。在这种情况下,我们将把数值分配给x and y并将总和放入z.

// Assign values to x and y
let x = 10;
let y = 20;

// Add x and y and assign the sum to z
let z = x + y;

console.log(z);
Output
30

类似地,我们使用减号(-) 减去数字或代表数字的变量。

// Assign values to x and y
let x = 10;
let y = 20;

// Subtract x from y and assign the difference to z
let z = y - x;

console.log(z);
Output
10

我们还可以使用负数和浮点数(小数)进行加法和减法。

// Assign values to x and y
let x = -5.2;
let y = 2.5;

// Subtract y from x and assign the difference to z
let z = x - y;

console.log(z);
Output
-7.7

在 JavaScript 中需要注意的一件有趣的事情是添加一个数字和一个string。我们知道1 + 1应该等于2,但是这个方程会产生意想不到的结果。

let x = 1 + "1";

console.log(x);
typeof x;
Output
11 'string'

JavaScript 不会将两个数字相加,而是将整个语句转换为字符串并连接他们在一起。请务必小心 JavaScript 的动态类型特性,因为它可能会产生不良结果。

在 JavaScript 中使用加法或减法的一个常见原因是滚动到 id 减去固定导航栏的高度(以像素为单位)。

function scrollToId() {
	const navHeight = 60;
	window.scrollTo(0, window.pageYOffset - navHeight);
}

window.addEventListener('hashchange', scrollToId);

在上面的示例中,单击 id 将滚动到 id 上方 60 像素。

加法和减法是 JavaScript 中最常用的两个数学方程。

乘法和除法

乘法 and divisionJavaScript 中也提供了运算符,用于求数值的乘积和商。

一个星号(*) 用于表示乘法运算符。

// Assign values to x and y
let x = 20;
let y = 5;

// Multiply x by y to get the product
let z = x * y;

console.log(z);
Output
100

乘法可用于计算应用销售税后的商品价格。

const price = 26.5;    // Price of item before tax
const taxRate = 0.082; // 8.2% tax rate

// Calculate total after tax to two decimal places
let totalPrice = price + (price * taxRate);
let fixedPrice = totalPrice.toFixed(2);

console.log("Total:", fixedPrice);
Output
Total: 28.67

斜杠(/) 用于表示除法运算符。

// Assign values to x and y
let x = 20;
let y = 5;

// Divide y into x to get the quotient
let z = x / y;

console.log(z);
Output
4

除法在计算时间时特别有用,例如计算分钟数中的小时数,或者计算测试中完成的正确答案的百分比时。

Modulo

一种不太熟悉的算术运算符是模(有时称为模)运算符,它计算除法后商的余数。模数由百分号表示(%).

举个例子,我们知道3进入9正好三遍,没有余数。

9 % 3;
Output
0

我们可以使用模运算符来确定数字是偶数还是奇数,如以下函数所示:

// Initialize function to test if a number is even
const isEven = x => {
	// If the remainder after dividing by two is 0, return true
	if (x % 2 === 0) {
		return true;
	}
	// If the number is odd, return false
	return false;
}

// Test the number
isEven(12);
Output
true

在上面的例子中,12均匀地分为2,因此它是偶数。

在编程中,模数通常与条件语句结合使用以进行流程控制。

求幂

求幂是 JavaScript 中较新的运算符之一,它允许我们通过指数计算数字的幂。求幂的语法是两个连续的星号 (**).

10 的五次方,即 10^5,可以这样写:

10 ** 5;
Output
100000

10 ** 5代表相同10乘以10五次:

10 * 10 * 10 * 10 * 10;

另一种写法是用Math.pow() method.

Math.pow(10, 5);
Output
100000

使用求幂运算符是求给定数字幂的一种简洁方法,但与往常一样,在方法和运算符之间进行选择时,保持与代码库的风格一致很重要。

递增和递减

增量 and 递减运算符将变量的数值加一或减一。它们由两个加号表示(++) 或两个减号 (--),并且经常与loops.

请注意,自增和自减运算符只能用于变量;尝试在原始数字上使用它们将导致错误。

7++
Output
Uncaught ReferenceError: Invalid left-hand side expression in postfix operation

递增和递减运算符可以分为前缀运算或后缀运算,具体取决于运算符是放置在变量之前还是之后。

首先,我们可以用文本发送前缀增量,++x.

// Set a variable
let x = 7;

// Use the prefix increment operation
let prefix = ++x;

console.log(prefix);
Output
8

的价值x增加了 1。为了查看差异,我们将测试后缀增量,其中y++.

// Set a variable
let y = 7;

// Use the prefix increment operation
let postfix = y++;

console.log(postfix);
Output
7

的价值y并没有在postfix操作中增加。这是因为在计算表达式之后该值才会递增。

递增或递减运算符最常出现在循环中。在这个for循环示例,我们将运行该操作十次,从0,并增加值1每次迭代。

// Run a loop ten times
for (let i = 0; i < 10; i++) {
  console.log(i);
}
Output
0 1 2 3 4 5 6 7 8 9

上面的代码显示了通过使用增量运算符实现的循环迭代。

我们可以想到x++作为简写x = x + 1, and x--作为简写x = x - 1.

赋值运算符

最常用的运算符之一是任务运算符,我们已经见过,用等号 (=)。我们用=将右侧的值分配给左侧的变量。

// Assign 27 to age variable
let age = 27;

除了标准的赋值运算符之外,JavaScript 还有复合赋值运算符,它将算术运算符与=.

例如,加法运算符将从原始值开始,并添加一个新值。

// Assign 27 to age variable
let age = 27;

age += 3;

console.log(age);
Output
30

在这种情况下,age += 3和写作一样age = age + 3.

所有算术运算符都可以与赋值组合以创建复合赋值运算符。下面是 JavaScript 中赋值运算符的参考表。

Operator Syntax
Assignment =
Addition assignment +=
Subtraction assignment -=
Multiplication assignment *=
Division assignment /=
Remainder assignment %=
Exponentiation assignment **=

复合赋值运算符通常与循环一起使用,类似于递增和递减,并且在需要重复或自动化方程时使用。

运算符优先级

尽管我们从左到右阅读,但运算符将按优先级顺序求值,就像常规数学中一样。

在以下示例中,乘法的优先级高于加法,这决定了方程的结果。

// First multiply 3 by 5, then add 10
10 + 3 * 5;
Output
25

相反,如果我们想首先运行加法运算,则应将其分组在括号中,括号始终具有最高优先级。

// First add 10 and 3, then multiply by 5
(10 + 3) * 5;
Output
65

下面是 JavaScript 中算术运算符的运算符优先级参考表,从最高到最低。对于递增和递减,后缀的优先级高于前缀。

递增/递减、乘法/除法和加法/减法具有相同的优先级。

Operator Syntax
Parentheses ()
Incrementation ++
Decrementation --
Exponentiation **
Multiplication *
Division /
Addition +
Subtraction -

运算符优先级不仅包括算术运算符,还包括赋值运算符、逻辑运算符、条件运算符等。如需完整列表,请查看Mozilla 开发者网络 (MDN) 上的运算符优先级.

结论

在本文中,我们介绍了算术运算符和语法,包括许多熟悉的数学运算符和一些特定于编程的运算符。

此外,我们还学习了如何结合算术和赋值来创建复合赋值运算符,以及 JavaScript 中的运算顺序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JavaScript 中使用运算符进行数学运算 的相关文章

随机推荐

  • 如何在 Ubuntu 18.04 上安装 Xrdp 服务器(远程桌面)

    Xrdp 是 Microsoft 远程桌面协议 RDP 的开源实现 允许您以图形方式控制远程系统 使用 RDP 您可以登录到远程计算机并创建真实的桌面会话 就像登录到本地计算机一样 本教程介绍如何在 Ubuntu 18 04 上安装和配置
  • 如何在 CentOS 7 上安装和配置 GitLab

    GitLab 是一个基于网络的开源Git存储库管理器编写为Ruby包括 wiki 问题管理 代码审查 监控以及持续集成和部署 它使开发人员能够构建 部署和运行他们的应用程序 GitLab 提供三种不同版本 社区版 CE 企业版 EE 和 G
  • 如何在 Linux 中获取目录的大小

    使用列出目录内容时ls命令 您可能已经注意到目录的大小几乎总是 4096 字节 4 KB 这是磁盘上用于存储目录元信息的空间大小 而不是它包含的内容 您要用来获取目录的实际大小的命令是du 它是 磁盘使用情况 的缩写 获取目录的大小 The
  • Linux 中的 awk 命令及示例

    Awk 是一种通用脚本语言 专为高级文本处理而设计 它主要用作报告和分析工具 与大多数其他过程性编程语言不同 awk 是数据驱动的 这意味着您定义一组要针对输入文本执行的操作 它获取输入数据 对其进行转换 并将结果发送到标准输出 本文涵盖了
  • 如何在 Debian 9 上安装 Minecraft 服务器

    我的世界 是有史以来最受欢迎的游戏之一 这是一款关于建造各种结构并进行冒险的沙盒视频游戏 本教程介绍了如何在 Debian 9 上安装和配置 Minecraft 服务器 我们将使用 Systemd 来运行 Minecraft 服务器和mcr
  • 如何在 Ubuntu 18.04 上安装 Opera Web 浏览器

    Opera是世界上最流行的跨平台网络浏览器之一 它是专为现代网络构建的快速 易于使用且安全的浏览器 Opera 基于与Chrome并提供类似的浏览体验 并允许您从 Google 官方网上应用店安装 Chrome 扩展程序 它具有内置功能 例
  • 如何在 Vim / Vi 中显示行号

    Vim Vi 是许多软件开发人员和 L inux 系统管理员首选的文本编辑器 默认情况下 Vim 不显示行号 但可以轻松打开它们 Vim 支持三种行号模式 可帮助您浏览文件 除了标准的绝对行编号之外 Vim 还支持相对和混合行编号模式 本文
  • 如何在 CentOS 7 上安装 Webmin

    Webmin是一个用于 Linux UNIX 系统管理的开源 Web 控制面板 Webmin 允许您管理用户 组 磁盘配额以及配置最流行的服务 包括 Web FTP 电子邮件和数据库服务器 本教程介绍如何在 CentOS 7 服务器上安装
  • 如何在 Linux 中更改 SSH 端口

    默认情况下 SSH 侦听端口 22 更改默认 SSH 端口可以降低自动攻击的风险 从而为您的服务器增加了额外的安全层 本教程介绍如何更改 Linux 中的默认 SSH 端口 我们还将向您展示如何配置防火墙以允许访问新的 SSH 端口 保护服
  • 如何使用 SOCKS 隧道在没有 VPN 的情况下安全地路由 Web 流量

    作者选择了COVID 19 救济基金接受捐赠作为为捐款而写程序 介绍 在某些时候 您可能会发现自己所在的网络不安全或防火墙限制过于严格 并且您需要确保没有人在监视您的流量 一种解决方案是使用 VPN 但许多 VPN 需要在您的计算机上安装特
  • Java 集合 sort()

    今天我们将研究Java集合的排序方法 在与java中的集合 我们经常需要对数据进行排序 Java 集合 sort Java Collections类为我们提供了非常方便的方法Collections sort 对所有进行排序List实施例如链
  • 提高 React 应用程序性能的 5 个技巧

    您的 React 应用程序是否感觉有点迟缓 您是否因为可能看到的内容而害怕打开 Chrome DevTools 中的 paint flash 试试这 5 个性能技巧 本文包含 React 开发的 5 个性能技巧 您可以使用此目录快速浏览本文
  • 如何在 Linux 上读取和设置环境变量和 Shell 变量

    介绍 当通过 shell 会话与服务器交互时 shell 会编译许多信息来确定其行为和对资源的访问 其中一些设置包含在配置设置中 而其他设置则由用户输入确定 shell 跟踪所有这些设置和详细信息的一种方法是通过它维护的一个称为环境 环境是
  • Python 当前日期时间

    我们可以使用Python datetime模块来获取本地系统的当前日期和时间 from datetime import datetime Current date time in local system print datetime no
  • 如何在 CentOS 7 上安装和使用 Docker

    介绍 Docker 是一个应用程序 可以让在容器中运行应用程序进程变得简单 容易 就像虚拟机一样 只是更便携 更资源友好 更依赖于主机操作系统 有关 Docker 容器的不同组件的详细介绍 请查看Docker 生态系统 常用组件简介 在 C
  • 如何在 Ubuntu 18.04 上安装/卸载 NodeJS

    NodeJS 是一个 JavaScript 框架 可让您轻松构建快速的网络应用程序 在本指南中 我们将深入研究如何在 Ubuntu 18 04 上安装 NodeJS 步骤 1 将 NodeJS PPA 添加到 Ubuntu 18 04 首先
  • 在 C/C++ 中使用 getch() 函数

    在本文中 我们将了解在 C C 中使用 getch 函数 如果您想读取从键盘输入的字符 getch 函数非常有用 虽然这不是 C 标准的一部分 但这仍然是 POSIX C 函数 因此 我们仍然可以在 Windows Linux Mac 上使
  • 如何保护 Ubuntu 14.04 上的 Redis 安装

    介绍 Redis 是一种内存中 NoSQL 键值缓存和存储 也可以持久保存到磁盘上 本教程展示如何实现 Redis 服务器的基本安全性 但是 请记住 Redis 是为以下用户而设计的 值得信赖的客户 in a 可信环境 本身没有强大的安全功
  • Python 漂亮打印 JSON

    我们可以使用Python json 模块漂亮地打印 JSON 数据 建议使用 json 模块来处理 JSON 文件 我们可以使用dumps 方法来获取格式漂亮的 JSON 字符串 1 Python漂亮打印JSON字符串 import jso
  • 如何在 JavaScript 中使用运算符进行数学运算

    介绍 数学运算是任何编程语言最基本和通用的功能之一 在 JavaScript 中 数字经常用于常见任务 例如查找浏览器窗口大小 获取货币交易的最终价格以及计算网站文档中元素之间的距离 尽管对数学的高度理解并不是成为一名有能力的开发人员的先决