JavaScript基本概念之操作符——乘性操作符

ECMAScript定義了3個乘性操作符:乘法(*)、除法(/)和求模(%)。操作數(shù)在非數(shù)值的情況下會執(zhí)行自動的類型轉(zhuǎn)換(后臺會先用Number()轉(zhuǎn)型函數(shù)將其轉(zhuǎn)換為數(shù)值)。

  • 1. 乘法
var result = 34*56;

在處理特殊值的情況下,乘法操作符遵循下列特殊的規(guī)則:

  • 如果操作數(shù)都是數(shù)值,執(zhí)行常規(guī)的乘法計算,如果乘積超過了ECMAScript數(shù)值的表示范圍,則返回Infinity-Infinity;
  • 如果有一個是是NaN,那么結(jié)果就是NaN;

  • 如果是Infinity與0相乘,則結(jié)果是NaN;

  • 如果是Infinity與非0相乘,則結(jié)果是Infinity-Infinity;

  • 如果是InfinityInfinity相乘,則結(jié)果是Infinity;

  • 如果有一個操作數(shù)不是數(shù)值,則在后臺調(diào)用Number()將其轉(zhuǎn)換為數(shù)值,然后在應(yīng)用上面的規(guī)則。

  • 2. 除法

var result = 66 / 11;

在處理特殊值的情況下,除法操作符遵循下列特殊的規(guī)則:

  • 如果操作數(shù)都是數(shù)值,執(zhí)行常規(guī)的除法計算,如果商超過了ECMAScript數(shù)值的表示范圍,則返回Infinity-Infinity;
  • 如果有一個是是NaN,那么結(jié)果就是NaN;
  • 如果是InfinityInfinity除,則結(jié)果是NaN;
  • 如果是0被0除,則結(jié)果是NaN;
  • 如果是非0的有限數(shù)被0除,則結(jié)果是Infinity-Infinity;
    -如果是Infinity被任何非0數(shù)值除,則結(jié)果是Infinity-Infinity;
  • 如果有一個操作數(shù)不是數(shù)值,則在后臺調(diào)用Number()將其轉(zhuǎn)換為數(shù)值,然后在應(yīng)用上面的規(guī)則。
  • 3. 求模
var result = 26 % 5;             //1

在處理特殊值的情況下,求模操作符遵循下列特殊的規(guī)則:

  • 如果操作數(shù)都是數(shù)值,執(zhí)行常規(guī)的除法計算,返回除得的余數(shù);
  • 如果被除數(shù)是無窮大而除數(shù)是有限大數(shù)值,則結(jié)果是NaN;
  • 如果被除數(shù)是有限大而除數(shù)是0,則結(jié)果是NaN;
  • 如果是InfinityInfinity除,則結(jié)果是NaN;
  • 如果被除數(shù)是有限大而除數(shù)是無窮大數(shù)值,則結(jié)果是被除數(shù);
    -如果被除數(shù)是0,則結(jié)構(gòu)是0;
  • 如果有一個操作數(shù)不是數(shù)值,則在后臺調(diào)用Number()將其轉(zhuǎn)換為數(shù)值,然后在應(yīng)用上面的規(guī)則。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容