Number與parseInt的區(qū)別

Number與parseInt都是JS數(shù)值轉(zhuǎn)換的函數(shù)。

  1. 首先從語義上來辨別兩者的區(qū)別(這也是我記各種函數(shù)等內(nèi)容的區(qū)別方法)。
Number() ,從翻譯中看語義,number就是數(shù)字的之意。
它意味著無論給Number()傳入任何參數(shù),它可以把內(nèi)容轉(zhuǎn)換為數(shù)字

parseInt(),在英語上,`分析詞句`之意,而 Int 則是我們定義變量時的整數(shù)類型。
顯而易見,則是通過分析把詞句轉(zhuǎn)換為整型。
而在JS中,我們詞句的數(shù)據(jù)類型,就是我們常見的`string`字符串
因此,parseInt()就是把字符串轉(zhuǎn)換為整型之意
測試樣例:
/*******************************Number********************************/
Number("123")       //123     字符串
Number("")          //0       字符串
Number(true)        //1       布爾
Number(null)        //0       對象
Number(1.1)         //1.1     浮點數(shù)
/*******************************parseInt********************************/
parseInt("123")  //123       字符串
parseInt("");     //NaN       字符串
parseInt(true)    //NaN       Boolean
parseInt(null)    //NaN       對象
parseInt(1.1)     //1         浮點數(shù)
  1. 在進行數(shù)值轉(zhuǎn)換的過程中
    (1)Number有較為復(fù)雜的轉(zhuǎn)換規(guī)則

如果是boolean值,true和false將分別轉(zhuǎn)換為十進制數(shù)值
如果是數(shù)字值,只是簡單的傳入與返回
如果是null, 返回0
如果是undefined ,返回NaN
如果是字符串,遵循下列原則:
1.只包含數(shù)字,八進制的數(shù)值將會被忽略前面的0,直接顯示為十進制 如:“011” 應(yīng)為 ‘9’但只能轉(zhuǎn)換為‘11’;
2.浮點數(shù)可以轉(zhuǎn)換為對應(yīng)的浮點數(shù)值
3.如果是十六進制會轉(zhuǎn)換為十進制值
4.如果字符串為空轉(zhuǎn)換為0
5.其他轉(zhuǎn)為NaN

(2) parseInt()在轉(zhuǎn)換字符是更看其是否符合數(shù)值模式。它會忽略字符串前面的空格,知道找到第一個非空格字符。它是逐個解析字符的
e.g:parseInt("1234aaa")輸出為“1234” 如果第一個字符是數(shù)字字符,會繼續(xù)解析第二個字符,直到解析完所有的后續(xù)字符或者遇到了一個非數(shù)字字符。

parseInt()同樣不具有解析八進制的能力,所以可以給parseInt()加入第二個參數(shù)
e.g:parseInt("AF",16); //175 后面還可以為2,8,10,16,默認情況下為10

?著作權(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)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,569評論 0 13
  • 原文轉(zhuǎn)自: https://www.w3cmm.com/JavaScript/number-parseint-pa...
    wangyujie1207閱讀 838評論 0 2
  • 什么是 JavaScript 語言? JavaScript 是一種輕量級的腳本語言。所謂“腳本語言”(script...
    oWSQo閱讀 1,915評論 0 1
  • 【周四晨問】 你如何看待自己的人生? 【九,答晨問】 以前的回答是向死而生,難免有點悲凄壯烈。反轉(zhuǎn)一下:因為對生命...
    Archer莫閱讀 307評論 0 1
  • 這兩年,越來越多的朋友成了異地戀,也越來越多的人總是問我,你有沒有什么秘籍傳授啊,你可是已經(jīng)異地很多年了。 沒錯,...
    冬暖語閱讀 692評論 2 4

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