成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

JavaScript Number()方法和ParseInt()/ParseFloat()方法的轉(zhuǎn)換

Simon_Zhou / 1602人閱讀

摘要:在項目開發(fā)中我們經(jīng)常會用到轉(zhuǎn)型方法,尤其是這種松散型的語言。其中比較常用的方法就是方法和方法了,下面我們分別對這幾種方法的轉(zhuǎn)型機(jī)制進(jìn)行詳細(xì)地說明。

在項目開發(fā)中我們經(jīng)常會用到轉(zhuǎn)型方法,尤其是JS這種松散型的語言。其中比較常用的方法就是Number()方法和ParseInt()/ParseFloat()方法了,下面我們分別對這幾種方法的轉(zhuǎn)型機(jī)制進(jìn)行詳細(xì)地說明。

Number()

如果傳入的參數(shù)為字符串,則遵循以下規(guī)則:

如果字符串中只包含數(shù)字,則返回相應(yīng)的數(shù)字值(前導(dǎo)的0會被忽略)

如果包含浮點(diǎn)和負(fù)號,則返回相應(yīng)的小數(shù)或負(fù)數(shù)

如果是16進(jìn)制數(shù)字,則返回相應(yīng)的10進(jìn)制數(shù)

如果包含空格,則開始和結(jié)束的空格會被忽略,如果中間包含空格則會返回NaN

如果是空字符串,則返回0

如果包含除去以上情況的其它字符,則返回NaN

如果傳入的參數(shù)為true/false,則返回1/0

如果傳入的參數(shù)為null,則返回0

如果傳入的參數(shù)為undefined,則返回NaN

如果是數(shù)字,則簡單的返回數(shù)字值

如果是對象,則調(diào)用對象的valueOf()方法,將所得值按照以上規(guī)則進(jìn)行轉(zhuǎn)型,如果得到NaN,再調(diào)用對象的toString()方法,將所得的值按以上規(guī)則進(jìn)行轉(zhuǎn)型

總體來說Number()方法的轉(zhuǎn)型機(jī)制比較復(fù)雜且難懂,一般我們手動調(diào)用轉(zhuǎn)型方法會使用parseInt()/parseFloat()方法進(jìn)行轉(zhuǎn)型,下面介紹這兩個方法的轉(zhuǎn)型機(jī)制。

parseInt()/parseFloat()

如果傳入的參數(shù)為字符串,則則從第0個位置開始,找到第一個非空格字符,如果第一個非空格字符不是數(shù)字或-號,則返回NaN,如果是數(shù)字或-號,則繼續(xù)往下尋找,直到找到非數(shù)字字符,然后忽略后面的內(nèi)容,返回前面找到的數(shù)字值(前導(dǎo)的空格會被忽略,中間的空格則會當(dāng)成非數(shù)字字符處理)

如果是boolean,null,undefined類型值,則返回NaN

如果需要對8進(jìn)制或者16進(jìn)制的數(shù)進(jìn)行轉(zhuǎn)型,ECMAScript 3和ECMAScript 5有所不同,所以推薦傳入第二個參數(shù),即進(jìn)制數(shù)

如果是對象,則調(diào)用對象的toString()方法,將所得值再按照以上方法進(jìn)行轉(zhuǎn)型

*以上只說明了parseInt()方法的機(jī)制,parseFloat()方法與其只有一個區(qū)別,即parseFloat()方法遇到第一個浮點(diǎn)會繼續(xù)往下尋找

下面舉一些典型的例子,對以上機(jī)制進(jìn)行驗證和說明

console.log(Number("12a"));      //NaN
console.log(Number(""));         //0
console.log(Number(null));       //0
console.log(Number(undefined));  //NaN
console.log(Number(true));       //1
console.log(Number(false));      //0
console.log(Number([]);          //0
console.log(parseInt("-1-2a"));  //-1
console.log(parseInt("-a2a"));   //NaN
console.log(parseInt(" 12a"));   //12
console.log(parseInt("1 2a"));   //1
console.log(parseInt(""));       //NaN
console.log(parseInt(null));     //NaN
console.log(parseInt(undefined));//NaN
console.log(parseInt(true));     //NaN
console.log(parseInt(false));    //NaN
console.log(parseInt([]));       //NaN

以上便是所總結(jié)的Number()和parseInt()/parseFloat()方法的轉(zhuǎn)型機(jī)制,特別說明:大部分規(guī)則摘自《JavaScript高級程序設(shè)計第三版》。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/82179.html

相關(guān)文章

  • javascript高級程序設(shè)計》筆記:Number數(shù)值轉(zhuǎn)換

    摘要:數(shù)值轉(zhuǎn)換對個人而言是非常重要的,這也是本人單獨(dú)拉出來總結(jié)的一個原因。在此也僅針對顯示轉(zhuǎn)換做點(diǎn)文章,隱式轉(zhuǎn)換同樣會單獨(dú)拉出來總結(jié)有個函數(shù)可以把非數(shù)值轉(zhuǎn)換為數(shù)值和。如果是值,和將分別被轉(zhuǎn)換為和。如果是數(shù)字值,只是簡單的傳入和返回。 數(shù)值轉(zhuǎn)換對個人而言是非常重要的,這也是本人單獨(dú)拉出來總結(jié)的一個原因。在此也僅針對顯示轉(zhuǎn)換做點(diǎn)文章,隱式轉(zhuǎn)換同樣會單獨(dú)拉出來總結(jié) 有 3 個函數(shù)可以把非數(shù)值轉(zhuǎn)換為...

    kid143 評論0 收藏0
  • javascript數(shù)值轉(zhuǎn)換

    摘要:函數(shù)在轉(zhuǎn)換字符串時,更多的是看其是否符合數(shù)值模式。例如,會被轉(zhuǎn)換為,因為會被完全忽略。類似地,會被轉(zhuǎn)換為,因為小數(shù)點(diǎn)并不是有效的數(shù)字字符。指定基數(shù)會影響到轉(zhuǎn)換的輸出結(jié)果。舉例來說,將會被轉(zhuǎn)換為。但十六進(jìn)制格式的字符串則始終會被轉(zhuǎn)換成。 以下三個函數(shù)將非數(shù)值轉(zhuǎn)換為數(shù)值:Number() 、parseInt()和 parseFloat() Number()的轉(zhuǎn)換規(guī)則 Boolean值 ...

    qianfeng 評論0 收藏0
  • JavaScript數(shù)據(jù)類型轉(zhuǎn)換

    摘要:本文主要介紹數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換和自動轉(zhuǎn)換,自動轉(zhuǎn)換是基于強(qiáng)制轉(zhuǎn)換之上。強(qiáng)制轉(zhuǎn)換主要指使用和三個函數(shù),手動將各種類型的值,分布轉(zhuǎn)換成數(shù)字字符串或者布爾值。 前言 JavaScript是一門動態(tài)語言,所謂的動態(tài)語言可以暫時理解為在語言中的一切內(nèi)容都是不確定的。比如一個變量,這一時刻是個整型,下一時刻可能會變成字符串了。雖然變量的數(shù)據(jù)類型是不確定的,但是各種運(yùn)算符對數(shù)據(jù)類型是有要求的。如果運(yùn)算...

    blastz 評論0 收藏0
  • JavaScript數(shù)據(jù)類型轉(zhuǎn)換

    摘要:本文主要介紹數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換和自動轉(zhuǎn)換,自動轉(zhuǎn)換是基于強(qiáng)制轉(zhuǎn)換之上。強(qiáng)制轉(zhuǎn)換主要指使用和三個函數(shù),手動將各種類型的值,分布轉(zhuǎn)換成數(shù)字字符串或者布爾值。 前言 JavaScript是一門動態(tài)語言,所謂的動態(tài)語言可以暫時理解為在語言中的一切內(nèi)容都是不確定的。比如一個變量,這一時刻是個整型,下一時刻可能會變成字符串了。雖然變量的數(shù)據(jù)類型是不確定的,但是各種運(yùn)算符對數(shù)據(jù)類型是有要求的。如果運(yùn)算...

    chaos_G 評論0 收藏0
  • JavaScript數(shù)據(jù)類型轉(zhuǎn)換

    摘要:本文主要介紹數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換和自動轉(zhuǎn)換,自動轉(zhuǎn)換是基于強(qiáng)制轉(zhuǎn)換之上。強(qiáng)制轉(zhuǎn)換主要指使用和三個函數(shù),手動將各種類型的值,分布轉(zhuǎn)換成數(shù)字字符串或者布爾值。 前言 JavaScript是一門動態(tài)語言,所謂的動態(tài)語言可以暫時理解為在語言中的一切內(nèi)容都是不確定的。比如一個變量,這一時刻是個整型,下一時刻可能會變成字符串了。雖然變量的數(shù)據(jù)類型是不確定的,但是各種運(yùn)算符對數(shù)據(jù)類型是有要求的。如果運(yùn)算...

    Julylovin 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<