1. 基本概念
Math.imul()方法用于计算两个32位整数的乘积,它的结果也是32位的整数。JavaScript的Number类型同时包含了整数和浮点数,它没有专门的整型和浮点型。因此,Math.imul()方法能提供类似C语言的整数相乘的功能。
我们将Math.imul()方法的名称分为两部分,分别是i和mul。i应该是int的缩写,而int在C语言中表示整型。mul是单词“multiplication”的缩写,而“multiplication”的意思正是“乘法”。所以,Math.imul()方法的名字就已经暗示了它进行整数乘法的功能。
执行Math.imul()方法的语法如下所示:
Math.imul(x, y);
当Math.imul()方法被执行时,如果它的某个参数不是Number类型的话,它会先将该参数转换为Number类型。这之后,如果某个参数不是整数的话,还要再将该参数转换为整数。特别需要注意的是NaN、-0、正无穷(+Infinity)和负无穷(-Infinity)这4个特殊数字在计算前都会转换成+0;因此,当Math.imul()方法的某个参数为NaN时,它并不像其它Math成员方法那样返回NaN。
注意,Math.imul()方法的返回值依旧是Number类型的,只是大小在32位的整数范围内。
2. 示例
由于Math.imul()方法不是很常用,因此我们只举几个简单的例子就行了,需要注意的点都在对应的注释里有说明;以下代码的执行结果如图1所示。
图1 示例代码的执行结果
(完)