在所有编程语言中,执行数学运算都是例行公事。任何应用程序都需要加法、减法和许多其他操作。在 Javascript 中,我们可以通过简单的操作和利用 JavascriptMath
对象来做到这一点。
Note: 要进行数学运算,我们需要比较数字。引号中的数字在数学运算中不起作用。
数学运算#
让我们看一个简单的数学运算,我们如何在此处介绍的变量中使用数学。基本的数学运算就像我们将它们写在纸上一样:
let i = 1; let j = i + 10;
上面,我们定义了一个变量i
。然后我们定义另一个变量 ,j
它等于i
加 10。因此,当我们在代码中引用时j
,它将返回 11。
我们可以做很多其他的数学运算。让我们来看看它们。
Javascript算术运算符
运算符 | 它能做什么 | 代码示例 |
+ | 将两个数字相加 | 10 + 5 返回 15 |
– | 从另一个数字中减去一个数字 | 10 - 5 返回 5 |
+ | 一个数除以另一个数 | 10 / 5 返回 2 |
* | 将两个数相乘 | 10 * 5 返回 50 |
% | 获取计算的余数 | 12 % 5 返回 2(12 除以 5 余数为 2) |
** | 将一个数字提高到另一个数字的幂 | 2 ** 3 返回 8(2 的 3 次方是 8) |
试试看!
let x = 12; let y = 15; let add = x + y; let remainder = x % y; let raiseToPower = x ** y; let divide = x / y; console.log("Addition: " + add); console.log("Remainder: " + remainder);
数学常数#
除了能够使用 Javascript 中的运算符进行基本数学运算外,我们还拥有 Javascript 中的Math对象。这个对象让我们可以访问数学常数并做一些更复杂的数学运算。
让我们从查看数学常数开始下面是我们如何访问 PI 的示例。
let pi = Math.PI; // returns 3.141...
在 Javascript 中,我们使用点来表示Math对象的特定子对象。这些都是预定义的,因此它们作为基本 Javascript 的一部分存在。上面的代码将返回值 PI – 但最常见的数学常数在 Javascript 中可用。这些无理数都列在下面,可以像正常数一样使用:
数学常数 | 它能做什么 | 值 |
Math.PI | 返回 PI | 3.141 … |
Math.E | 返回 欧拉数 | 2.718 … |
Math.E | 返回 Euler’s number | 2.718 … |
Math.LN2 | 返回 ln(2) | 0.693 … |
Math.LOG10E | 返回 log10(e) | 0.434 … |
Math.LOG2E | 返回 log2(e) | 1.442 … |
Math.LN10 | 返回 ln(10) | 2.302 … |
Math.SQRT2 | 返回 2 的平方根 | 1.414 … |
Math.SQRT1_2 | 返回 1/2 的平方根 | 0.707 … |
Javascript 中的数学符号#
如果您习惯于在数学环境中工作,那么您将习惯于科学或数学符号。我们可以在 Javascript 中使用数学符号。3124的数学符号可以写成 3.124e3
let myMathNotation = 3.124e3 console.log(myMathNotation);
我们使用 e 来指代指数。以上与写3.124 x 10 3相同。
舍入和静态方法#
我们可以使用Math对象来做一些更复杂的数学运算,使用它内置的函数。这些函数将一个数字作为一个值,然后进行相应的调整。让我们看几个例子。
绝对值
Math.abs
接受一个数字并返回其绝对值。所有这意味着,如果它是负面的,它是否使它成为积极的,如果它已经是,它保持它是积极的。它相当于数学的量级概念。
let absoluteNumber = Math.abs(-2); // Returns 2.
Floor
Math.floor
取一个数字并向下取整。这仅适用于小数。
let roundItDown = Math.floor(2.8371); // Returns 2.
Ceil
Math.ceil
取一个数字并四舍五入。这仅适用于小数。
let roundItDown = Math.ceil(2.8371); // Returns 3.
Round
Math.round
取一个数字并将其四舍五入。这仅适用于小数。
let roundItDown = Math.ceil(1.453); // Returns 1.
Max
Math.max
取一组用逗号分隔的数字,并选择最大的一个。
let biggestNumber = Math.max(2, 3, 6); // Returns 6.
Min
Math.min
取一组用逗号分隔的数字,并选择最小的一个。
let smallestNumber = Math.min(2, 3, 6); // Returns 2.
更多静态方法#
这些有用的运算让我们可以对数字进行操作或执行数学运算。
Pow
Math.pow
取一个数,并将其提高到一定的幂。它类似于**
我们之前看到的算术运算符。
let toThePower = Math.pow(2, 3); // Returns 8, i.e. 2 to the power of 3.
Sign
Math.sign
接受一个数字,并返回它的符号。不要与sin混淆
let getSign = Math.sign(-14); // Returns -1 let getAnotherSign = Math.sign(14); // Returns 0
Trunc
Math.trunc
接受一个数字,并且只返回它的整数部分。
let truncIt = Math.trunc(14.2431); // Returns 14
Sqrt
Math.sqrt
接受一个数字,并返回它的平方根。
let sqrtIt = Math.sqrt(4); // Returns 2
Cbrt
Math.sqrt
接受一个数字,并返回它的立方根。
let cbrtIt = Math.sqrt(8); // Returns 2
Random
Math.random
返回一个介于 0 和 1 之间的随机数。
let randomNumber = Math.random(); // As an example, may return 0.4845737088624795
Logs
在 Javascript 中进行日志记录的方法有很多种,如下所示:
let naturalLog = Math.log(10); // The natural log of 10 let log10 = Math.log10(10); // The base 10 log of 10 let log2 = Math.log2(10); // The base 2 log of 10 let log2 = Math.log1p(10); // The natural log of 1 + 10
几何操作#
我们可以运行大量操作来操作和计算几何图形。这些几何函数的列表如下所示。对于所有这些,假设数字以弧度为单位。
除了基本的 sin、cos 和 tan 运算外,我们还提供了每个函数的弧版本(在函数前面用a表示)和双曲线版本(在末尾用h表示)。
let x = 1.4; // Geometry mathematical functions Math.sin(x); Math.cos(x); Math.tan(x); Math.asin(x); Math.acos(x); Math.atan(x); Math.sinh(x); Math.cosh(x); Math.tanh(x); Math.asinh(x); Math.acosh(x); Math.atanh(x);
ParseFloat 和 ParseInt#
能够在 Javascript 中进行数学运算很棒,但是如果您还记得我们关于 types 的文章,那么写成字符串的数字在 Javascript 中不会被视为数字。要将字符串中的数字更改为"5"
实数,我们可以使用函数parseFloat
(将数字更改为浮点数)或parseInt
将数字更改为整数 – 当然区别在于整数具有没有小数,而浮点数可以。
这两个函数都接受数字和数学符号中的数字。
例如:
let myNumber = "12345" // type: String let myOtherNumber = "1.3453"; // type: String // Let's parse our numbers let parseNumber = parseFloat(myNumber); // Returns 12345 type: Number let parseNumber = parseFloat(myOtherNumber); // Returns 1.3453 type: Number let parseNumber = parseInt(myOtherNumber); // Returns 1 type: Number
这些函数在类型并不总是一致的 vanilla Javascript 中非常有用。使用这些,我们可以将数字卡在字符串中,并将它们转换为我们可以进行计算的实数类型。
结论#
Javascript 有很多有趣的数学运算方式,并且通过Math
对象提供了很多常用的数学常数。除此之外,我们还有许多静态函数可以用来通过同一个Math
函数来操作数字。我们已经在本指南中学习了如何使用所有这些,以及如何使用parseInt
/将一串数字强制转换为数字parseFloat
。所有这些技术都是 Javascript 中的重要概念,在构建应用程序时非常有用。