JavaScript中的操作符類型轉(zhuǎn)換示例總結(jié)_第1頁
JavaScript中的操作符類型轉(zhuǎn)換示例總結(jié)_第2頁
JavaScript中的操作符類型轉(zhuǎn)換示例總結(jié)_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、最近發(fā)現(xiàn)在前端的面試題目中經(jīng)常出現(xiàn)操作符類型轉(zhuǎn)換的題目,于是這里來進(jìn)行一個JavaScript中的操作符類型轉(zhuǎn)換示例總結(jié),需要的朋友可以參考下首先,我們先來做一些題目吧!為了統(tǒng)一,我不混著來寫這些題目,面試題目中,經(jīng)常 將這些題目混起來,這樣對你的迷惑度會更大,為了更方便演示,我在這里分模塊寫了一些題目,大家可以看下!操作符字符串的隱性轉(zhuǎn)換乘法console.dir(以下乘法”);con sole.dir(5*5);con sole.dir(5*a);con sole.dir(5*NaN);con sole.dir(5* null);con sole.dir(5* un defi ned);c

2、on sole.dir(5*5);console.dir(以上乘法);除法console.dir(以下除法);con sole.dir(5/5);con sole.dir(5/a);con sole.dir(5/NaN);con sole.dir(5/nu II);con sole.dir( null/5);con sole.dir(5/un defi ned);con sole.dir(5/5);con sole.dir(5/0);con sole.dir(0/5);con sole.dir(0/0);console.dir(以上除法); 取余、求模console.dir(以下取余

3、、求模);con sole.dir(16%5);con sole.dir(5%a);con sole.dir(5%NaN);con sole.dir(5% null);con sole.dir( null%5);con sole.dir(5% un defi ned);con sole.dir(5%5);con sole.dir(5%0);con sole.dir(0%5);con sole.dir(0%0);console.dir(以上取余、求模); 加法console.dir(以下加法”);con sole.dir(16+5);con sole.dir(5+a);con sole

4、.dir(5+NaN);con sole.dir(5+nu II);con sole.dir(5+u ndefi ned);con sole.dir(5+5);console.dir(兩個數(shù)的和是+5+5);console.dir(兩個數(shù)的和是+(5+5);console.dir(以上加法”); 減法console.dir(以下減法);con sole.dir(16-5);con sole.dir(5- a);con sole.dir(5-NaN);con sole.dir(5-n ull);con sole.dir(5-un defi ned);con sole.dir(5-5);

5、con sole.dir(5-true);con sole.dir(5- true);con sole.dir(5-);console.dir(兩個數(shù)的差是+5-5);console.dir(兩個數(shù)的差是+(5-5);console.dir(以上減法”); 關(guān)系操作符console.dir(以下關(guān)系操作符 );con sole.dir(16>5);con sole.dir(16 >5);con sole.dir(5<a);con sole.dir(5>=NaN);con sole.dir(5<NaN);con sole.dir(NaN >=NaN)

6、;con sole.dir(5>=n ull);con sole.dir(5>=un defi ned);con sole.dir(5>=5);con sole.dir(5>=true);con sole.dir(5>=true);con sole.dir(5>=);con sole.dir(Brick>alphabet);con sole.dir(brick>alphabet);console.dir(以上關(guān)系操作符); 乘法con sole.dir(5*5); 25con sole.dir(5*a);/NaNcon sole.dir

7、(5*NaN);/NaNcon sole.dir(5* null);0con sole.dir(5*u ndefin ed);/NaNcon sole.dir(5*5);/25下面說一下乘法隱性轉(zhuǎn)換原則:1、 如果2個數(shù)值都是數(shù)字,那么直接進(jìn)行乘法運(yùn)算,(相信大家都會的,和小學(xué)數(shù)學(xué)一樣,同時要注意數(shù)字的符號),如果乘積數(shù)值超過了ECMAscript的數(shù)值表示范圍,則返回Infinity (正無窮)或者-Infinity (負(fù)無窮)2、如果一個數(shù)是NaN,那么結(jié)果就是NaN3、如果Infinity 與0相乘,結(jié)果是 NaN4、 假如一個操作符是數(shù)字,另外一個不是數(shù)值,那么先用Number()函數(shù)

8、,將其進(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é)果就是NaNcon sole.dir(5/NaN);/NaNconsole.dir(5/null);/lnfinity null用Number。函數(shù)進(jìn)行轉(zhuǎn)化, 結(jié)果是0,那么5/0是正無窮console.dir(null/5);/0 同上 0/5 是 0console.dir(5/undefined);/

9、NaN  undefined用 Number()進(jìn)行轉(zhuǎn)化,結(jié)果是 NaNcon sole.dir(5/5);/1con sole.dir(5/0);/I nfinitycon sole.dir(0/5);/0console.dir(0/0);/NaN /0 除以 0 結(jié)果是 NaN下面說一下除法隱性轉(zhuǎn)換原則:和乘法類似,唯一多的一條就是0/0結(jié)果是NaN取余、求模求余在項(xiàng)目中用的最多的是求奇數(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

10、然后進(jìn)行求余&n bsp;co nsole.dir(5%a);/NaN&n bsp;co nsole.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&n bsp;co nsole.dir(5%u ndefi ned);/NaN&n bsp;co nsole.dir(5%5);/0&n bsp;co nsole.dir(5%0);/NaN&n bsp;co nsole.dir(0%5

11、);/0&n bsp;co nsole.dir(0%0);/NaNcon sole.dir(I nfin ity%I nfini ty);/NaNcon sole.dir(5%I nfin ity);/5&n bsp;co nsole.dir(l nfin ity%5); NaN下面說一下取余隱性轉(zhuǎn)換原則:和乘法一樣,我說一下比較特別的地方吧!我們都知道被除數(shù)和除數(shù)的概念吧,時候就學(xué)過的。1、 被除數(shù)是無窮大,除數(shù)是有限大的值,那么結(jié)果是NaN2、 被除數(shù)是有限大的值,除數(shù)是0,那么結(jié)果是 NaN3、 Infinity%Infinity結(jié)果是 NaN4、被除數(shù)是有限大的值,除數(shù)是無窮大的值,結(jié)

12、果是被除數(shù)。5、被除數(shù)是0,結(jié)果是0減法看看上面的例子吧!con sole.dir(16-5);/11con sole.dir(5-a);/NaNcon sole.dir(5-NaN);/NaNcon sole.dir(5-n ull);/5con sole.dir(5-un defi ned);/NaNcon sole.dir(5-5);/0con sole.dir(5-true);/4con sole.dir(5-true);/NaNcon sole.dir(5-);/5con sole.dir(5-I nfin ity);/-l nfinitycon sole.dir(I nfin it

13、y-I nfini ty);/NaNconsole.dir(兩個數(shù)的差是+5-5);/NaNconsole.dir(兩個數(shù)的差是+(5-5);/兩個數(shù)的差是 0下面說一下減法隱性轉(zhuǎn)換原則:和上面一樣,相同的就不說了,我說一下減法特有的。1、 Infinity-Infinity結(jié)果是 NaN2、-Infinity-Infinity 結(jié)果是-Infinity3、一個數(shù)字減Infinity結(jié)果是-Infinity4、Infinity- ( -Infinity )結(jié)果是 Infinity5、 如果操作數(shù)是對象,則調(diào)用對象valueOf方法,如果結(jié)果是NaN那么結(jié)果就是 如果沒有valueOf方法,那么

14、調(diào)用toString()方法,并將得到的字符串轉(zhuǎn)換為數(shù)值。關(guān)系操作符關(guān)系運(yùn)算符統(tǒng)一返回true或者falsecon sole.dir(16>5); /truecon sole.dir(16 >5);/falsecon sole.dir(5<a);/falsecon sole.dir(5>=NaN);/falsecon sole.dir(5<NaN);/falsecon sole.dir(NaN >=NaN);/falsecon sole.dir(5>=null);/truecon sole.dir(5>=un defi ned);/falseco

15、n sole.dir(5>=5);/true小學(xué)的NaN。con sole.dir(5>=true);/truecon sole.dir(5>=true);/falsecon sole.dir(5>=);/true&n bsp;console.dir(Brick>alphabet);/false B的字符串編碼值是66 ,而a的字符串編碼是97.因此 falseconsole.dir(brick>alphabet);/true小寫字母 b 比 a大,所以是 true下面說一下關(guān)系運(yùn)算符隱性轉(zhuǎn)換原則:還是和上面一樣,相同的就不說了。如果比較的兩個數(shù)都是字符串,

16、那么會比較字符串對應(yīng)的字符串編碼值。加法運(yùn)算加法運(yùn)算隱性轉(zhuǎn)換,我之所以最后說,是因?yàn)榧臃ㄟ\(yùn)算隱性轉(zhuǎn)換和之前的不一樣,之前的所有的運(yùn)算符號,只要一個是數(shù)字,另一個也默認(rèn)使用Number ()進(jìn)行數(shù)字轉(zhuǎn)換。加法運(yùn)算不一樣。加法運(yùn)算只要其中一個是字符串,那么另外一個也會轉(zhuǎn)換為字符串,然后進(jìn)行字符串的拼接!con sole.dir(16+5); /156con sole.dir(5+a);/5acon sole.dir(5+NaN);/NaNcon sole.dir(5+nu ll);/5con sole.dir(5+null);/5 nullcon sole.dir(5+u ndefi ned);/

17、NaNcon sole.dir( null+un defi ned);/NaNcon sole.dir(5+5);/10console.dir(兩個數(shù)的和是+5+5);/兩個數(shù)的和是 55console.dir(兩個數(shù)的和是+(5+5);/兩個數(shù)的和是 10下面說一下加法運(yùn)算符隱性轉(zhuǎn)換原則:1、有一個是字符串,那么另外一個也會轉(zhuǎn)換為字符串進(jìn)行拼接。假如一個是字符串,另外一個是null或者undefined,那么相加,null或者undefined就會調(diào)用String()方法,獲得 字符串null ”或者undefined ”,然后進(jìn)行拼接。2、 假如一個數(shù)字加 null或者undefined,

18、那么還是把 null或者undefined進(jìn)行Number() 轉(zhuǎn)換之后再相加。3、剩下的原則和其他的差不多,就不多說了。雙等號隱性轉(zhuǎn)換把以下代碼運(yùn)行一遍,相信你自然就懂了 var a;con sole.dir(0 = false);/truecon sole.dir(1 = true);/truecon sole.dir(2 = valueOf: fun ctio n( )return 2);/truecon sole.dir(a = NaN);/falsecon sole.dir(NaN = NaN);/falsecon sole.dir(8 = un defi ned);/falsecon sole.d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論