简介
JavaScript是一种遵循ECMAScript规范的编程语言。它是一种高级的、及时编译的、多范式的语言。JavaScript具有动态类型、大括号语法、基于原型的面向对象和一流的函数。它是万维网的核心技术之一。巨大的主流网站使用它进行客户端的页面行为。数学是生活中的一个重要部分,没有它我们就无法走得很远。当我们学习JavaScript编程时,情况更是如此。我们确实依赖于处理数字数据,计算新的数值,等等,所以当我们知道JavaScript有一套全功能的数学函数可用时,我们不会感到惊讶。
熟悉的运算符
我们可以在任何可能使用数字的地方使用数学表达式。例如,我们很熟悉这样的语句。
var popularNumber = 4; 但我们也可以这样写。 var popularNumber = 2 + 2; 我们还可以写:alert (2 + 2)。
这将在一个警报框中显示 "4 "的信息。
当JavaScript看到一个数学表达式时,它总是做数学运算并提供结果。下面是一个从12减去24的语句,将-12分配给变量。
var popularNumber = 12-24;
这条语句将3乘以12的乘积分配给了变量,即36。
var popularNumber = 3 * 12;
在这个中,数字10被分配给一个变量。然后将1加到该变量上,并将总和210分配给第二个变量。
我们可以像往常一样混合变量和数字。
1 var num = 10;
2 var popularNumber = num + 200;
我们也可以不使用任何东西,只使用变量。
1 var num = 10;
2 var anotherNum = 1;
3 var popularNumber = num + anotherNum;
我们一直在使用的算术运算符,+,-,*,和/,无疑是我们熟悉的。
这一个可能不熟悉。
var whatsLeftOver = 10 % 3;
%是模数运算符。它不会给我们一个数字除以另一个数字的结果。它给我们的是除法执行时的余数。如果一个数字持续除以另一个数字,那么模子操作返回0。在下面的语句中,0被分配给变量。
var whatsLeftOver = 9 % 3;
有用的数字方法
我们将在我们的JavaScript中使用Number对象。这些都是代表所有标准数字的实例。在它上面有许多有用的方法供我们操作数字。一旦我们把这个模块读了几遍,就值得去看看对象的参考页,了解更多可用的东西。
例如,使用toFixed()方法将数字四舍五入到一个固定的小数位。在浏览器的控制台中键入以下几行。
let lotsOfDecimal = 1.766584958675746364;
lotsOfDecimal;
let twoDecimalPlaces = lotsOfDecimal.toFixed(2);
twoDecimalPlaces;
不熟悉的运算符
有一些专门的数学表达式是我们需要知道的。下面是第一个。
num++。
这是一种简短的写法...
num = num + 1。
它使变量增加了1.我们用减法而不是正法进行减法。
num-;
我们可以在一个赋值中使用这些表达式。但结果可能会让我们吃惊。
1 var num = 1;
2 var newNum = num++;
在上面的例子中,num的原始值被赋给了newNum,而num则被
之后被递增。如果num在第一条语句中最初被赋值为1,那么第二条语句将其数值提升为2。newNum得到了num的原始值,即1。如果我们将加号放在变量前面,会得到不同的结果。
1 var num = 1。
2 var newNum = ++num。
在上面的语句中,num和newNum的值都变成了2。如果我们把减号放在变量后面,新的变量就会被分配到原来的值,而第一个变量会被递减。
1 var num = 1。
2 var newNum = num-;
num被递减为0,newNum得到num的原始值,即1。但是如果我们把减数放在变量前面,newNum被分配的是递减值,而不是原始值。num和newNum最后的值都是0。
1 var num = 1;
2 var newNum = -num;
复杂算术表达式
我们可能还记得高中时的代数,复杂的算术表达式会带来一些问题。下面的例子是totalCost的值是多少。
var totalCost = 1 + 3 * 4。
根据我们做算术的顺序,totalCost的值会有所不同。如果
我们先加1+3,然后再乘以4,totalCost的值就是16。但是如果我们反其道而行之,从3乘以4开始,然后在乘积上加1,我们就得到13。
JavaScript中的模糊性和代数中的模糊性是通过优先级规则来清除的。代数中的规则在这里适用,即乘法运算在加法运算之前完成。所以totalCost的值是13。
我们不需要记住JavaScript复杂的优先级规则。我们可以通过使用圆括号
我们可以通过使用括号来解决这个问题,以消除歧义。小括号取代了所有内置的优先权规则。它们迫使JavaScript在完成其他操作之前完成括号内的操作。这也使得我们的代码更容易掌握,无论是对其他编码人员还是对我们自己来说,当我们使用小括号来向JavaScript表明我们的意图时,一年后我们就会试图理解自己的代码。小括号告诉JavaScript先用3乘以4,然后再加上1,结果是:这个语句中的13。
var totalCost = 1 + (3 * 4);
如果我们移动小括号,算术就会以不同的顺序进行。小括号的位置告诉JavaScript,在下一条语句中,先加1和3,然后乘以4。结果是16。
var totalCost = (1 + 3) * 4;
下面是另一个例子。
var resultOfComputation = (2 * 4) * 4 + 2; 我们已经通过把第一个乘法运算放在括号里告诉JavaScript先做这个运算。但是然后呢?顺序可以是。
- 2乘以4。
- 乘以4的乘积。
- 给出resultOfComputation的值为34,再加2。或者顺序可以是...
- 2乘以4。
- 将该乘积乘以4和2....,给resultOfComputation一个48的值。解决方案是更多的括号。如果我们想在加2之前完成第二个乘法,可以这样写... resultOfComputation = ((2 * 4) * 4) + 2。
但如果我们想让2乘以4的乘积乘以4和2相加后得到的数字,请这样写... resultOfComputation = (2 * 4) * (4 + 2)。
更多细节请访问:https://www.technologiesinindustry4.com/what-are-javascript-math-expressions/
什么是JavaScript数学表达式?最初发表在Nerd For Tech的Medium上,在那里人们通过强调和回应这个故事继续对话。