Javascript绝对值方法:如何和何时使用它
“Javascript绝对值方法,你在哪里?”我知道你就藏在那些命令里的某个地方!”
你是对的!在Javascript中返回数字的绝对值是非常容易的。
说到Javascript,你是否在寻找一门关于Javascript的综合在线课程?
(如果你对数学有点生疏,一个数的绝对值就是这个数没有符号的值;在实践中,它归结为去掉一个负数的负号。)
我们知道——有时你可能不太确定从Javascript期待什么,因为它最初是作为客户端浏览器脚本语言设计的。但它确实可以做数学,而且它做得和任何通用编程语言一样好。
遇到Math对象
Math对象是Javascript中的原生对象,这意味着无论Javascript在哪个环境中运行,它及其方法都是可用的。作为Javascript对象,Math对象非常简单。您不需要与构造函数纠缠在一起,因为(与Date或Array对象不同)它没有构造函数。它所拥有的只是一堆漂亮、简单的属性和方法。属性只是常量(如pi、对数和2的平方根),方法只是基本的数学函数-包括返回绝对值的函数。
(所有这些看起来都有点可怕吗?学校有很多课绝对初学者的Javascript选择。)
绝对吗?绝对的!
它是这样工作的。使用Math对象方法最简单的方法之一是设置一个变量等于该方法,如下所示:
爱丽丝var = Math.some_method (some_number);
当你这样做的时候,Alice的值就变成了some_method对some_number操作所返回的值。
绝对值方法叫做abs(),所以如果你想让Alice等于- 2743的绝对值,你可以用这个:
爱丽丝var = Math.abs (-2743);
Alice的值是2743,没有负号。
当然,因为它是绝对值,如果你用正数的绝对值函数,符号不会改变:
爱丽丝var = Math.abs (326);
Alice的值现在是326。
它需要什么?
那么,abs()会接受什么类型的参数呢?显然,它会取正数和负数,但它也会取各种其他类型的参数。
例如,它将接受一个普通的算术运算作为参数:
var Alice=Math.abs(17.536 - 233);
这将Alice的值设为215.464 - 17.536 - 233 = -215.464。
它也会接收其他Math对象;首先计算参数中的Math对象,然后abs()返回绝对值:
爱丽丝var = Math.abs (Math.cos (4));
Alice的值现在设置为0.6536436208636119 - cos(4)的绝对值(等于-0.6536436208636119)。
和变量!
当然,它会以一个变量作为参数。如果你先设定
var Bob=(-27 * 35);
然后取Bob的绝对值
爱丽丝var = Math.abs (Bob);
Alice的值是945 -27 * 35 = 945的绝对值。
它也将采用内置的Javascript常量,如null:
爱丽丝var = Math.abs(空);
这返回0,因为null =没有值。
不是一个号码吗? ! ?
但是如果给abs()一个参数,它不是数字,或者返回数字的任何东西,或者null,比如字符串,会发生什么呢?
爱丽丝var =数学。abs(“别看我,我只是一根绳子!”);
当您这样做时,Javascript绝对值函数将告诉您它不是一个数字。在上面的例子中,Alice的值将被设置为NaN -这是Javascript表示“不是一个数字”的方式。
当然,绝对值法并不能解决所有问题,因为Javascript并不是为高等数学而设计的编程语言;你可以发现更多关于它的长处和局限性一个权威的辅导班。比如,你让它给你一个复数的绝对值
爱丽丝var =数学。abs (5 + Math.sqrt (1));
它会将Alice设为NaN,而不是试图计算复数。
使用腹肌
Javascript绝对值方法的实际用途是什么?
当然,在实践中,你可能不想硬编码一个数字来得到它的绝对值,所以像这样:
爱丽丝var = Math.abs (2);
真的不是很有用。
然而,在某些情况下,能够获得绝对值是有用的。例如,如果你在一条中点为0的直线上指定编号位置,那么在0左边的任何位置都是负坐标。如果您正在处理二维坐标(例如图形图像或表格中的位置),则可能会遇到负坐标。
减去五英里有多远?
在这些条件下,如何求任意两点之间的距离?你总是可以检查它们坐标的符号然后做相应的运算,当然,一个更一般的解是用一个坐标减去另一个坐标,然后取结果的绝对值。考虑一个简单的二维例子:
吉姆站在数字线上的一点,0在中点,杰夫站在另一点。它们之间有多远?如果吉姆在位置5杰夫在位置-3,他们的距离就是这两个数之差的绝对值。
试一试:
爱丽丝var =数学。abs (3 - 5);
和
爱丽丝var =数学。abs (5 - 3);
两者都返回Alice的值为8。
如果吉姆和杰夫在中点的同一边,吉姆在5杰夫在3,或者吉姆在-5杰夫在-3,这也成立
爱丽丝var =数学。abs (3 - 5);爱丽丝var =数学。abs (5 - 3);爱丽丝var =数学。abs (3 - 5);爱丽丝var =数学。abs (5 - 3);
都将Alice的值设为2。
这是一个有用的工具
这是一种有用的东西,无论你是学习Javascript的基础或参加高级课程。你们不需要提前知道符号,也不需要担心哪个数减哪个数。你可以把任意两个坐标代入公式,取绝对值,就可以了。