JavaScript parseInt()與Number()區(qū)別案例詳解
學(xué)習(xí)目標(biāo):
parseInt()、Number()這兩個(gè)函數(shù)用到最多的地方就是把一個(gè)字符串轉(zhuǎn)換成數(shù)據(jù)類型,那么他們都有哪些區(qū)別?
學(xué)習(xí)內(nèi)容:
parseInt()函數(shù)將給定的字符串以指定的基數(shù)解析為整數(shù)。
parseInt(string,radix)
第二個(gè)參數(shù)表示使用的進(jìn)制,我們一般使用10進(jìn)制,也可能會(huì)有到8或者16進(jìn)制。為了避免對(duì)“0”和“0x”開(kāi)頭的字符串解析錯(cuò)誤,各種javascript編程規(guī)范都規(guī)定必須要明確給出第二個(gè)參數(shù)的值,如parseInt(“123”,10).
parseInt('16', 8) = 14
parseInt('10', 8) = 8
parseInt('16', 10) = 16
parseInt('10', 10) = 10
parseInt('16', 16) = 22
parseInt('10', 16) = 16
parseInt從頭解析string為整數(shù),在遇到不能解析的字符時(shí)就返回已經(jīng)解析的整數(shù)部分,如果第一個(gè)字符就不能解析,就直接返回NaN。
Number()在不用new操作符時(shí),可以用來(lái)執(zhí)行類型轉(zhuǎn)換。如果無(wú)法轉(zhuǎn)換為數(shù)字,就返回NaN。 像“123a”,parseInt()返回是123,Number()返回是NaN,不同類型的字符串使用這兩個(gè)函數(shù)的轉(zhuǎn)換區(qū)別:
// 當(dāng)字符串是由數(shù)字組成的時(shí)候 他們轉(zhuǎn)換的數(shù)字一樣的沒(méi)有差別 let numStr = '123' console.log(parseInt(numStr)) //123 console.log(Number(numStr)) //123 // 當(dāng)字符串是由字母組成的時(shí)候 let numStr = 'abc' console.log(parseInt(numStr)) //NaN console.log(Number(numStr)) //NaN // 當(dāng)字符串是由數(shù)字和字母組成的時(shí)候 let numStr = '123a' console.log(parseInt(numStr)) //123 console.log(Number(numStr)) //NaN // 當(dāng)字符串是由0和數(shù)字 let numStr = '0123' console.log(parseInt(numStr)) //123 console.log(Number(numStr)) //123 // **當(dāng)字符串包含小數(shù)點(diǎn)** let numStr = '123.456' console.log(parseInt(numStr)) //123 console.log(Number(numStr)) //123.456 // **當(dāng)字符串為null時(shí)** let numStr = null console.log(parseInt(numStr)) //NaN console.log(Number(numStr)) //0 // **當(dāng)字符串為''(空)時(shí)** let numStr = '' console.log(parseInt(numStr)) //NaN console.log(Number(numStr)) //0
學(xué)習(xí)總結(jié):
1、當(dāng)字符串是由數(shù)字組成的時(shí)候 他們轉(zhuǎn)換的數(shù)字一樣的沒(méi)有差別;如果字符串不含數(shù)字全是字母,這兩個(gè)方法也都只是返回NaN結(jié)果;當(dāng)字符串是由0和數(shù)字組成時(shí),都是解析除0外的全部數(shù)字;
2 當(dāng)字符串是由數(shù)字和字母組成的時(shí)候 ①字母在開(kāi)頭,這兩個(gè)方法也都只是返回NaN結(jié)果②字母不在開(kāi)頭Number方法返回NaN,pareseInt方法返回字母之前的數(shù)據(jù)
3 parseInt對(duì)于非String類型的值要先轉(zhuǎn)換為String類型再操作 4 剩下的細(xì)節(jié)參考上述案例
到此這篇關(guān)于JavaScript parseInt()與Number()區(qū)別案例詳解的文章就介紹到這了,更多相關(guān)js parseInt()與Number()區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript Math.floor方法(對(duì)數(shù)值向下取整)
這篇文章主要介紹了Math.floor 方法用于對(duì)數(shù)值向下取整,即得到小于或等于該數(shù)值的最大整數(shù),需要的朋友可以參考下2015-01-01
JavaScript 入門(mén)基礎(chǔ)知識(shí) 想學(xué)習(xí)js的朋友可以參考下
JavaScript 基礎(chǔ)知識(shí) 想學(xué)習(xí)js的朋友可以參考下2009-12-12
分享javascript實(shí)現(xiàn)的冒泡排序代碼并優(yōu)化
本文給大家匯總介紹了幾個(gè)個(gè)人收藏的JavaScript實(shí)現(xiàn)冒泡排序的代碼,都是非常的不錯(cuò),有需要的小伙伴可以參考下2016-06-06
Javascript基礎(chǔ)教程之a(chǎn)rgument 詳解
這篇文章主要介紹了Javascript基礎(chǔ)教程之a(chǎn)rgument 詳解的相關(guān)資料,需要的朋友可以參考下2015-01-01
javascript中數(shù)組array及string的方法總結(jié)
本文結(jié)合自己的使用經(jīng)驗(yàn),給大家總結(jié)了javascript中數(shù)組array及string的使用方法,這里推薦給有需要的小伙伴。2014-11-11

