ECMAScript 乘性操作符(乘法、除法、求模)
乘性操作符
ECMAScript走義了3個乘性操作符:乘法、除法和求模。這些操作符與Java.C或者Perl中的相應(yīng)操作符用途類似,只不過在操作數(shù)為非數(shù)值的情況下會執(zhí)行自動的類型轉(zhuǎn)換。如果參與乘法計算的某個操作數(shù)不是數(shù)值,后臺會先使用Number()轉(zhuǎn)型函數(shù)將其轉(zhuǎn)換為數(shù)值。也就是說,空字符串將被當(dāng)作0,布爾值true將被當(dāng)作1。
1.乘法
乘法操作符由一個星號(*)表示,用于計算兩個數(shù)值的乘積。其語法類似于C,如下面的例子所示:
var result=34*56;
在此南昌網(wǎng)站建設(shè)公司前端開發(fā)工程師介紹,在處理特殊值的情況下,乘法操作符所遵循的特殊的規(guī)則:
◎如果操作數(shù)都是數(shù)值,執(zhí)行常規(guī)的乘法計算,即兩個正數(shù)或兩個負數(shù)相乘的結(jié)果還是正數(shù),而如果只有一個操作數(shù)有符號,那么結(jié)果就是負數(shù)。如果乘積超過了ECMAScript數(shù)值的表示范圍,則返回Infinity或-Infinity;
◎如果有一個操作數(shù)是NaN,則結(jié)果是NaN;
◎如果是Infinity與0相乘,則結(jié)果是NaN;
◎如果是Infinity與非0數(shù)值相乘,則結(jié)果是Infinity或-Infinity,取決于有符號操作數(shù)的符號;
◎如果是Infinity與Infinity相乘,則結(jié)果是Infinity;
◎如果有一個操作數(shù)不是數(shù)值,則在后臺調(diào)用Number()將其轉(zhuǎn)換為數(shù)值,然后再應(yīng)用上面的規(guī)則。
2.除法
除法操作符由一個斜線符號(/)表示,執(zhí)行第二個操作數(shù)除第一個操作數(shù)的計算,如下面的例子所示:
var result = 66 /11; 在此南昌網(wǎng)絡(luò)公司前端開發(fā)工程師介紹,雖然除法與乘法操作符類似,但除法操作符對特殊的值也有特殊的處理規(guī)則。這些規(guī)則如下:
◎如果操作數(shù)都是數(shù)值,執(zhí)行常規(guī)的除法計算,即兩個正數(shù)或兩個負數(shù)相除的結(jié)果還是正數(shù),而如果只有一個操作數(shù)有符號,那么結(jié)果就是負數(shù)。如果商超過了ECMAScript教值的表示范圍,則返回Infinity或-Infinity;
◎如果有一個操作數(shù)是NaN,則結(jié)果是NaN;
◎如果是Infinity被Infinity除,則結(jié)果是NaN;
◎如果是Infinity被任意數(shù)值除,則結(jié)果是Infinity;
◎如果是零被零除,則結(jié)果是NaN;
◎如果是非零的有限數(shù)被零除,則結(jié)果是Infinity或-Infinity,取決于有符號操作數(shù)的符號;
◎如果是Infinity被任何非零數(shù)值除,則結(jié)果是Infinity或-Infinity,取決于有符號操作數(shù)的符號;
◎如果有一個操作數(shù)不是數(shù)值,則在后臺調(diào)用Number()將其轉(zhuǎn)換為數(shù)值,然后再應(yīng)用上面的規(guī)則。
3.求模
求模(余數(shù))操作符由一個百分號(%)表示,用法如下:
var result = 26%5; //等于1 在此南昌網(wǎng)頁設(shè)計公司前端開發(fā)工程師總結(jié),求模操作雖然與乘法操作符類似,且與另外兩個乘性操作符類似,但求模操作符會遵循下列特殊規(guī)則來處理特殊的值:
◎如果操作數(shù)都是數(shù)值,執(zhí)行常規(guī)的除法計算,返回除得的余數(shù);
◎如果被除數(shù)是無窮大值而除數(shù)是有限大的數(shù)值,則結(jié)果是NaN;
◎如果被除數(shù)是有限大的數(shù)值而除數(shù)是零,則結(jié)果是NaN;
◎如果是Infinity被Infinity除,則結(jié)果是NaN;
◎如果被除數(shù)是有限大的數(shù)值而除數(shù)是無窮大的教值,則結(jié)果是被除數(shù);
◎如果被除數(shù)是零,則結(jié)果是零;
◎如果有一個操作數(shù)不是數(shù)值,則在后臺調(diào)用Number()將其轉(zhuǎn)換為數(shù)值,然后再應(yīng)用上面的規(guī)則。
希望本文對廣大站長或從事企業(yè)網(wǎng)站建設(shè)公司的團隊有所幫助,如對此不太理解的,可以與南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高興與廣大站長和從事企業(yè)網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗。