茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    JavaScript中的操作符類型轉(zhuǎn)換示例總結(jié)
    來源:易賢網(wǎng) 閱讀:884 次 日期:2016-06-17 16:38:18
    溫馨提示:易賢網(wǎng)小編為您整理了“JavaScript中的操作符類型轉(zhuǎn)換示例總結(jié)”,方便廣大網(wǎng)友查閱!

    最近發(fā)現(xiàn)在前端的面試題目中經(jīng)常出現(xiàn)操作符類型轉(zhuǎn)換的題目,于是這里來進(jìn)行一個JavaScript中的操作符類型轉(zhuǎn)換示例總結(jié),需要的朋友可以參考下

    首先,我們先來做一些題目吧!為了統(tǒng)一,我不混著來寫這些題目,面試題目中,經(jīng)常將這些題目混起來,這樣對你的迷惑度會更大,為了更方便演示,我在這里分模塊寫了一些題目,大家可以看下!

    操作符字符串的隱性轉(zhuǎn)換

    乘法

    console.dir("-------以下乘法---------");

    console.dir(5*"5");

    console.dir(5*"a");

    console.dir(5*NaN);

    console.dir(5*null);

    console.dir(5*undefined);

    console.dir(5*5);

    console.dir("-------以上乘法---------");

    除法

    console.dir("-------以下除法---------");

    console.dir(5/"5");

    console.dir(5/"a");

    console.dir(5/NaN);

    console.dir(5/null);

    console.dir(null/5);

    console.dir(5/undefined);

    console.dir(5/5);

    console.dir(5/0);

    console.dir(0/5);

    console.dir(0/0);

    console.dir("-------以上除法---------"); 

    取余、求模

    console.dir("-------以下取余、求模--------");

    console.dir(16%"5");

    console.dir(5%"a");

    console.dir(5%NaN);

    console.dir(5%null);

    console.dir(null%5);

    console.dir(5%undefined);

    console.dir(5%5);

    console.dir(5%0);

    console.dir(0%5);

    console.dir(0%0);

    console.dir("-------以上取余、求模---------"); 

    加法

    console.dir("-------以下加法--------");

    console.dir(16+"5");

    console.dir(5+"a");

    console.dir(5+NaN);

    console.dir(5+null);

    console.dir(5+undefined);

    console.dir(5+5);

    console.dir("兩個數(shù)的和是"+5+5);

    console.dir("兩個數(shù)的和是"+(5+5));

    console.dir("-------以上加法--------"); 

    減法

    console.dir("-------以下減法--------");

    console.dir(16-"5");

    console.dir(5-"a");

    console.dir(5-NaN);

    console.dir(5-null);

    console.dir(5-undefined);

    console.dir(5-5);

    console.dir(5-true);

    console.dir(5-"true");

    console.dir(5-"");

    console.dir("兩個數(shù)的差是"+5-5);

    console.dir("兩個數(shù)的差是"+(5-5));

    console.dir("-------以上減法--------"); 

    關(guān)系操作符

    console.dir("-------以下關(guān)系操作符--------");

    console.dir(16>"5");

    console.dir("16">"5");

    console.dir(5<"a");

    console.dir(5>=NaN);

    console.dir(5<NaN);

    console.dir(NaN>=NaN);

    console.dir(5>=null);

    console.dir(5>=undefined);

    console.dir(5>=5);

    console.dir(5>=true);

    console.dir(5>="true");

    console.dir(5>="");

    console.dir("Brick">"alphabet");

    console.dir("brick">"alphabet");

    console.dir("-------以上關(guān)系操作符--------"); 

    乘法

    console.dir(5*"5"); //25

    console.dir(5*"a");//NaN

    console.dir(5*NaN);//NaN

    console.dir(5*null);0

    console.dir(5*undefined);//NaN

    console.dir(5*5);//25

    下面說一下乘法隱性轉(zhuǎn)換原則:

    1、如果2個數(shù)值都是數(shù)字,那么直接進(jìn)行乘法運算,(相信大家都會的,和小學(xué)數(shù)學(xué)一樣,同時要注意數(shù)字的符號),如果乘積數(shù)值超過了ECMAscript的數(shù)值表示范圍,則返回Infinity(正無窮)或者-Infinity(負(fù)無窮)

    2、如果一個數(shù)是NaN,那么結(jié)果就是NaN

    3、如果Infinity與0相乘,結(jié)果是NaN

    4、假如一個操作符是數(shù)字,另外一個不是數(shù)值,那么先用Number()函數(shù),將其進(jìn)行轉(zhuǎn)化,將轉(zhuǎn)化出來的值與數(shù)字進(jìn)行相乘。假如轉(zhuǎn)換出來的結(jié)果出現(xiàn)NaN,那么結(jié)果就是NaN。

    除法

    console.dir(5/"5");//1  將字符轉(zhuǎn)化為數(shù)字進(jìn)行相除

    console.dir(5/"a");//NaN  將“a”用Number()函數(shù)進(jìn)行轉(zhuǎn)化,出來的值是NaN,結(jié)果就是NaN

    console.dir(5/NaN);//NaN

    console.dir(5/null);//Infinity null用Number()函數(shù)進(jìn)行轉(zhuǎn)化,結(jié)果是0,那么5/0是正無窮

    console.dir(null/5);//0 同上0/5是0

    console.dir(5/undefined);//NaN  undefined 用Number()進(jìn)行轉(zhuǎn)化,結(jié)果是NaN

    console.dir(5/5);//1

    console.dir(5/0);//Infinity

    console.dir(0/5);//0

    console.dir(0/0);//NaN //0除以0結(jié)果是NaN

    下面說一下除法隱性轉(zhuǎn)換原則:

    和乘法類似,唯一多的一條就是0/0結(jié)果是NaN

    取余、求模

    求余在項目中用的最多的是求奇數(shù)偶數(shù)的時候。我們經(jīng)常用一個數(shù)值與2進(jìn)行求余,結(jié)果是0那么這個數(shù)是偶數(shù),結(jié)果是1那么這個數(shù)是奇數(shù)。

    看看上面的題目:

    console.dir(16%"5"); //1 將字符串5通過Number()轉(zhuǎn)化為5然后進(jìn)行求余

     console.dir(5%"a");//NaN

     console.dir(5%NaN);//NaN

     console.dir(5%null);//NaN 將null 通過Number()轉(zhuǎn)化,結(jié)果是0,然后計算5%0 ,結(jié)果是NaN

     console.dir(null%5);//0 同上0%5 取余,結(jié)果是0

     console.dir(5%undefined);//NaN

     console.dir(5%5);//0

     console.dir(5%0);//NaN

     console.dir(0%5);//0

     console.dir(0%0);//NaN

    console.dir(Infinity%Infinity);//NaN

    console.dir(5%Infinity);//5

     console.dir(Infinity%5); //NaN

    下面說一下取余隱性轉(zhuǎn)換原則:

    和乘法一樣,我說一下比較特別的地方吧!我們都知道被除數(shù)和除數(shù)的概念吧,小學(xué)的時候就學(xué)過的。

    1、被除數(shù)是無窮大,除數(shù)是有限大的值,那么結(jié)果是NaN

    2、被除數(shù)是有限大的值,除數(shù)是0,那么結(jié)果是NaN

    3、Infinity%Infinity結(jié)果是NaN

    4、被除數(shù)是有限大的值,除數(shù)是無窮大的值,結(jié)果是被除數(shù)。

    5、被除數(shù)是0,結(jié)果是0

    減法

    看看上面的例子吧!

    console.dir(16-"5");//11

    console.dir(5-"a");//NaN

    console.dir(5-NaN);//NaN

    console.dir(5-null);//5

    console.dir(5-undefined);//NaN

    console.dir(5-5);//0

    console.dir(5-true);//4

    console.dir(5-"true");//NaN

    console.dir(5-"");//5

    console.dir(5-Infinity);//-Infinity

    console.dir(Infinity-Infinity);//NaN

    console.dir("兩個數(shù)的差是"+5-5);//NaN

    console.dir("兩個數(shù)的差是"+(5-5));//兩個數(shù)的差是0

    下面說一下減法隱性轉(zhuǎn)換原則:

    和上面一樣,相同的就不說了,我說一下減法特有的。

    1、Infinity-Infinity結(jié)果是NaN

    2、-Infinity-Infinity結(jié)果是-Infinity

    3、一個數(shù)字減Infinity結(jié)果是-Infinity

    4、Infinity-(-Infinity)結(jié)果是Infinity

    5、如果操作數(shù)是對象,則調(diào)用對象valueOf方法,如果結(jié)果是NaN那么結(jié)果就是NaN。如果沒有valueOf方法,那么調(diào)用toString()方法,并將得到的字符串轉(zhuǎn)換為數(shù)值。

    關(guān)系操作符

    關(guān)系運算符統(tǒng)一返回true或者false

    console.dir(16>"5"); //true

    console.dir("16">"5");//false

    console.dir(5<"a");//false

    console.dir(5>=NaN);//false

    console.dir(5<NaN);//false

    console.dir(NaN>=NaN);//false

    console.dir(5>=null);//true

    console.dir(5>=undefined);//false

    console.dir(5>=5);//true

    console.dir(5>=true);//true

    console.dir(5>="true");//false

    console.dir(5>="");//true 

    console.dir("Brick">"alphabet");//false B的字符串編碼值是66 ,而a的字符串編碼是97.因此false

    console.dir("brick">"alphabet");//true 小寫字母b比a大,所以是true

    下面說一下關(guān)系運算符隱性轉(zhuǎn)換原則:

    還是和上面一樣,相同的就不說了。

    如果比較的兩個數(shù)都是字符串,那么會比較字符串對應(yīng)的字符串編碼值。

    加法運算

    加法運算隱性轉(zhuǎn)換,我之所以最后說,是因為加法運算隱性轉(zhuǎn)換和之前的不一樣,之前的所有的運算符號,只要一個是數(shù)字,另一個也默認(rèn)使用Number()進(jìn)行數(shù)字轉(zhuǎn)換。加法運算不一樣。加法運算只要其中一個是字符串,那么另外一個也會轉(zhuǎn)換為字符串,然后進(jìn)行字符串的拼接!

    console.dir(16+"5"); //156

    console.dir(5+"a");//5a

    console.dir(5+NaN);//NaN

    console.dir(5+null);//5

    console.dir('5'+null);//5null

    console.dir(5+undefined);//NaN

    console.dir(null+undefined);//NaN

    console.dir(5+5);//10

    console.dir("兩個數(shù)的和是"+5+5);//兩個數(shù)的和是55

    console.dir("兩個數(shù)的和是"+(5+5));//兩個數(shù)的和是10

    下面說一下加法運算符隱性轉(zhuǎn)換原則:

    1、有一個是字符串,那么另外一個也會轉(zhuǎn)換為字符串進(jìn)行拼接。假如一個是字符串,另外一個是null或者undefined,那么相加,null或者undefined就會調(diào)用String()方法,獲得字符串“null”或者“undefined”,然后進(jìn)行拼接。

    2、假如一個數(shù)字加null或者undefined,那么還是把null或者undefined進(jìn)行Number()轉(zhuǎn)換之后再相加。

    3、剩下的原則和其他的差不多,就不多說了。

    雙等號隱性轉(zhuǎn)換

    把以下代碼運行一遍,相信你自然就懂了~

    var a;

    console.dir(0 == false);//true

    console.dir(1 == true);//true

    console.dir(2 == {valueOf: function(){return 2}});//true

    console.dir(a == NaN);//false

    console.dir(NaN == NaN);//false

    console.dir(8 == undefined);//false

    console.dir(1 == undefined);//false

    console.dir(2 == {toString: function(){return 2}});//true

    console.dir(undefined == null);//true

    console.dir(null == 1);//false

    console.dir({ toString:function(){ return 1 } , valueOf:function(){ return [] }} == 1);//true

    console.dir(1=="1");//true

    console.dir(1==="1");//false

    更多信息請查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機網(wǎng)站地址:JavaScript中的操作符類型轉(zhuǎn)換示例總結(jié)
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報班

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報警專用圖標(biāo)