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 示例代碼的執行結果
(完)