JavaScript parseInt()與Number()區(qū)別案例詳解
學習目標:
parseInt()、Number()這兩個函數用到最多的地方就是把一個字符串轉換成數據類型,那么他們都有哪些區(qū)別?
學習內容:
parseInt()函數將給定的字符串以指定的基數解析為整數。
parseInt(string,radix)
第二個參數表示使用的進制,我們一般使用10進制,也可能會有到8或者16進制。為了避免對“0”和“0x”開頭的字符串解析錯誤,各種javascript編程規(guī)范都規(guī)定必須要明確給出第二個參數的值,如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為整數,在遇到不能解析的字符時就返回已經解析的整數部分,如果第一個字符就不能解析,就直接返回NaN。
Number()在不用new操作符時,可以用來執(zhí)行類型轉換。如果無法轉換為數字,就返回NaN。 像“123a”,parseInt()返回是123,Number()返回是NaN,不同類型的字符串使用這兩個函數的轉換區(qū)別:
// 當字符串是由數字組成的時候 他們轉換的數字一樣的沒有差別 let numStr = '123' console.log(parseInt(numStr)) //123 console.log(Number(numStr)) //123 // 當字符串是由字母組成的時候 let numStr = 'abc' console.log(parseInt(numStr)) //NaN console.log(Number(numStr)) //NaN // 當字符串是由數字和字母組成的時候 let numStr = '123a' console.log(parseInt(numStr)) //123 console.log(Number(numStr)) //NaN // 當字符串是由0和數字 let numStr = '0123' console.log(parseInt(numStr)) //123 console.log(Number(numStr)) //123 // **當字符串包含小數點** let numStr = '123.456' console.log(parseInt(numStr)) //123 console.log(Number(numStr)) //123.456 // **當字符串為null時** let numStr = null console.log(parseInt(numStr)) //NaN console.log(Number(numStr)) //0 // **當字符串為''(空)時** let numStr = '' console.log(parseInt(numStr)) //NaN console.log(Number(numStr)) //0
學習總結:
1、當字符串是由數字組成的時候 他們轉換的數字一樣的沒有差別;如果字符串不含數字全是字母,這兩個方法也都只是返回NaN結果;當字符串是由0和數字組成時,都是解析除0外的全部數字;
2 當字符串是由數字和字母組成的時候 ①字母在開頭,這兩個方法也都只是返回NaN結果②字母不在開頭Number方法返回NaN,pareseInt方法返回字母之前的數據
3 parseInt對于非String類型的值要先轉換為String類型再操作 4 剩下的細節(jié)參考上述案例
到此這篇關于JavaScript parseInt()與Number()區(qū)別案例詳解的文章就介紹到這了,更多相關js parseInt()與Number()區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
簡略說明Javascript中的= =(等于)與= = =(全等于)區(qū)別
本篇文章簡略說明了Javascript中的= =(等于)與= = =(全等于)區(qū)別,有需要的朋友可以參考一下2013-04-04
Typescript中 type 與 interface 的區(qū)別說明總結
這篇文章主要介紹了Typescript中 type 與 interface 的區(qū)別說明總結,需要的朋友可以參考下2024-07-07

