亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

JavaScript顯式數據類型轉換詳解

2024-05-06 16:49:09
字體:
來源:轉載
供稿:網友

基本概念

將值從一種類型轉換為另一種類型稱為類型轉換,類型轉換總是返回基本類型值,如字符串、數字和布爾值,不會返回引用類型值。
類型轉換分為“顯式”和“隱式”:“顯式”轉換發生在靜態類型語言的編譯階段,而“隱式”轉換則發生在動態類型語言的運行時。

顯式類型轉換

非字符串到字符串的類型轉換

toString() 方法
數字、布爾值、字符串和對象都有 toString() 方法,但 null 和 undefined 沒有。
例子:

var name = "Tom",  age = 19,  isStudent = true;console.log(name.toString()); //輸出:"Tom"console.log(age.toString()); //輸出:"19"console.log(isStudent.toString()); //輸出:"true"var obj = {    name: "Tom"  },  arr = [19, 20];console.log(obj.toString()); //輸出:"[object Object]"console.log(arr.toString()); //輸出:"19,20"

*基本類型值不能直接使用 toString() 方法,所以 JavaScript 引擎會自動為基本類型值創建一個封裝對象,然后對該對象調用 toString()。

String() 方法

這個方法能夠將任何類型的值轉換為字符串,基本的轉換規則是:

1、如果值有toString()方法,則調用該方法進行轉換;
2、如果值是null,則返回“null”;
3、如果值是undefined,則返回“undefined”。

例子:

console.log(String(11)); //輸出:"11"console.log(String(true)); //輸出:"true"console.log(String("love")); //輸出:"love"console.log(String(null)); //輸出:"null"console.log(String(undefined)); //輸出:"undefined"console.log(String({  name: "Tom"})); //輸出:"[object Object]"console.log(String([1, 2])); //輸出:"1,2"

非數字到數字的類型轉換

Number() 方法

這個方法可以用于任何數據類型,基本的轉換規則是:
1、如果是Boolean值,true和false將分別被轉換為1和0;
2、如果是數字值,只是簡單的傳入和返回;
3、如果是null值,返回0;
4、如果是undefined值,返回NaN;
5、如果是字符串,遵循下列規則:

  1. 如果字符串中只包含數字,將其轉換為十進制。即“123”轉換為123,“011”轉換為11(忽略前導0);
  2. 如果字符串中包含有效的浮點格式,如“1.1”將其轉換為對應的浮點數值(同樣忽略前導0);
  3. 如果字符串是空的,不包含任何字符,則將其轉換為0;
  4. 如果字符串中包含除上述以外的字符,則將其轉換為NaN。

 6、如果是對象,會首先檢查該值是否有 valueOf() 方法。如果有,并且可以成功返回基本類型值,那么就使用該方法的返回值進行強制類型轉換;如果沒有就使用 toString() 的返回值來進行強制類型轉換。如果 valueOf() 和 toString() 均不返回基本類型值,會產生 TypeError 錯誤。

*valueOf() 和 toString() 都屬于 Object 的原型方法,valueOf() 返回類型不變的原始值而非值的字符串形式。

例子:

console.log(Number(true)); //輸出:1console.log(Number(10)); //輸出:10console.log(Number(null)); //輸出:0console.log(Number(undefined)); //輸出:NaNconsole.log(Number("123")); //輸出:123console.log(Number("01")); //輸出:1console.log(Number("1.1")); //輸出:1.1console.log(Number("")); //輸出:0console.log(Number("love")); //輸出:NaN//轉換過程:{name: "Tom"} => "[object Object]" => NaNconsole.log(Number({  name: "Tom"})); //輸出:NaN//轉換過程:[1,2] => "1,2" => NaNconsole.log(Number([1, 2])); //輸出:NaN//轉換過程:[999] => "999" => 999console.log(Number([999])); //輸出:999console.log(Number(new Date)); //以微秒為單位的數字時間

parseInt() 方法

這個方法是專門用于把字符串轉換成整數的,非字符串參數會首先被強制轉換為字符串,它的基本轉換規則是:
1、如果第一個字符不是數字或者負號,返回NaN;
2、如果第一個字符是數字,會繼續解析第二個字符,直到解析完所有后續字符或者遇到了一個非數字字符。
例子:

例子:

//非字符串類型//轉換過程:10.1 => "10.1" => 10console.log(parseInt(10.1)); //輸出:10//轉換過程:0.0000008 => "8e-7" => 8console.log(parseInt(0.0000008)); //輸出:8//字符串類型console.log(parseInt("10abc")); //輸出:10console.log(parseInt("abc")); //輸出:NaN

*從 ES5 開始,parseInt() 默認轉換為十進制數,如果需要轉換其他基數(即多少進制),可以為這個函數提供第二個參數,例如:parseInt( “0xAF”, 16 ) 。

parseFloat() 方法與 parseInt() 類似,用于解析浮點數。字符串中的第一個小數點是有效的,而第二個小數點是無效的。除此之外,parseFloat() 方法只能解析十進制數。

例子:

console.log(parseFloat("10abc")); //輸出:10console.log(parseFloat("11.22.33")); //輸出:11.22console.log(parseFloat("011.22")); //輸出:11.22

非布爾值到布爾值的類型轉換

Boolean() 方法

可以對任何數據類型的值調用 Boolean() 方法,而且總會返回一個 Boolean 值,基本的轉換規則是:
1、以下這些是可以被轉換為 false 的值:

  1. undefined
  2. null
  3. false
  4. +0、-0 和 NaN
  5. “”

2、上面列舉之外的值都是可以被轉換為 true 的值。

例子:

console.log(Boolean(undefined)); //輸出:falseconsole.log(Boolean(null)); //輸出:falseconsole.log(Boolean(false)); //輸出:falseconsole.log(Boolean(0)); //輸出:falseconsole.log(Boolean(-0)); //輸出:falseconsole.log(Boolean(NaN)); //輸出:falseconsole.log(Boolean("")); //輸出:false

所有的對象都是可以被轉換為 true 的值,包括使用Boolean、 Number 和 String 來創建的基本包裝類型的對象。

例子:

console.log(Boolean(new Boolean(false))); //輸出:trueconsole.log(Boolean(new Number(0))); //輸出:trueconsole.log(Boolean(new String(""))); //輸出:trueconsole.log(Boolean([])); //輸出:trueconsole.log(Boolean({})); //輸出:true

如有錯誤,歡迎指正,本人不勝感激。

以上所述是小編給大家介紹的JavaScript顯式數據類型轉換詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲男人天堂2024| 欧美日韩国产精品一区二区不卡中文| 日韩av资源在线播放| 欧美性在线视频| 久久躁日日躁aaaaxxxx| 日韩中文字幕视频| 亚洲欧美第一页| 欧美日韩免费网站| 亚洲成年网站在线观看| 亚洲国产免费av| 国产小视频国产精品| 日韩精品中文字幕在线观看| 亚洲精品国精品久久99热一| 欧美性xxxx极品高清hd直播| 国产欧美精品va在线观看| 中文字幕最新精品| 日韩av免费在线播放| 中文字幕一区二区三区电影| 中文字幕亚洲第一| 欧美做爰性生交视频| 国产精品久久久久久久久久久久久久| 日本成熟性欧美| 成人免费淫片视频软件| 日韩av高清不卡| 中文字幕精品一区久久久久| 日韩电影在线观看永久视频免费网站| 亚洲精品自产拍| 国产精品色视频| 日韩a**中文字幕| 国产精品美女呻吟| 九九热视频这里只有精品| 国产精品情侣自拍| 97久久超碰福利国产精品…| 欧美日韩国产丝袜美女| 欧美日韩久久久久| 正在播放国产一区| 日本高清久久天堂| 久久久久久中文字幕| 992tv在线成人免费观看| 丝袜情趣国产精品| 日韩视频在线观看免费| 久久精品国产视频| 亚洲品质视频自拍网| 亚洲老头老太hd| 91久久国产婷婷一区二区| 国产精品99久久久久久久久久久久| 日韩免费视频在线观看| 国产精品成人va在线观看| 色播久久人人爽人人爽人人片视av| 亚洲精品福利免费在线观看| 欧美激情videoshd| 久久久久国产精品免费| 国产日韩欧美中文在线播放| 国产区亚洲区欧美区| 欧美自拍视频在线| 欧美性xxxx极品hd满灌| 亚洲精品在线看| 日韩欧美在线中文字幕| 久久天天躁日日躁| 69久久夜色精品国产7777| 国产成人91久久精品| 一区国产精品视频| 亚洲美女av电影| 欧美性69xxxx肥| 亚洲精品美女久久| 国产一区视频在线播放| 欧美国产极速在线| 亚洲精品久久久一区二区三区| 大胆人体色综合| 日韩一二三在线视频播| 亚洲国产精品系列| 久久频这里精品99香蕉| 中文字幕亚洲欧美| 亚洲最新中文字幕| 亚洲最新视频在线| 亚洲欧美中文字幕在线一区| 亚洲电影免费观看高清完整版| 欧美夜福利tv在线| 91久久精品一区| 欧美电影免费观看高清| 中文字幕日韩免费视频| 一本色道久久88综合亚洲精品ⅰ| 欧美一区二区大胆人体摄影专业网站| 久久久久久久久综合| 91精品在线播放| 麻豆精品精华液| 成人黄色生活片| 亚洲二区中文字幕| 亚洲欧美制服第一页| 日韩在线观看免费av| 欧美疯狂做受xxxx高潮| 亚洲精品永久免费精品| 久久精品人人爽| 综合国产在线观看| 亚洲国产精品久久久久| 宅男66日本亚洲欧美视频| 88国产精品欧美一区二区三区| 97福利一区二区| 国产精自产拍久久久久久| 日韩成人激情视频| 久久久久久91香蕉国产| 成人免费直播live| 2025国产精品视频| 国产精品自拍网| 欧美日韩激情视频8区| 国产精品一区二区三区在线播放| 国产成人精品电影| 久久人人爽亚洲精品天堂| 亚洲欧美成人在线| 一区二区在线免费视频| 国产亚洲精品91在线| 91亚洲va在线va天堂va国| 欧美一区二区色| 欧美日本高清一区| 久久久精品一区二区| 欧美激情综合色综合啪啪五月| 伊人久久综合97精品| 欧美午夜美女看片| 亚洲人成网站999久久久综合| 亚洲人成网在线播放| 亚洲精品永久免费精品| 久久久精品久久久久| 91色在线视频| 国产啪精品视频网站| 日韩电影大片中文字幕| 日本91av在线播放| 91免费视频国产| 精品久久久久人成| 最新日韩中文字幕| 国产一区二区三区在线观看网站| 久久精品国产欧美亚洲人人爽| 成人精品视频久久久久| 日韩中文字幕在线观看| 欧美自拍视频在线观看| 国产精品老牛影院在线观看| 国产精品久久久久一区二区| 久久这里只有精品视频首页| 成人黄色午夜影院| 欧美日韩在线一区| 国产精品国产三级国产aⅴ浪潮| 久久精品99久久久香蕉| 欧美极品第一页| 91精品国产免费久久久久久| 国产成人精品av在线| 欧美视频在线免费| 久久久久久噜噜噜久久久精品| 国产精品爱啪在线线免费观看| 久久久噜噜噜久久中文字免| 欧美一区二粉嫩精品国产一线天| 深夜福利一区二区| 尤物九九久久国产精品的特点| 国产一区二区丝袜| 中国人与牲禽动交精品| 亚洲黄色在线观看| 精品国产欧美一区二区三区成人| 中文字幕精品av| 国产一区二区三区四区福利| 97色伦亚洲国产| 欧美放荡办公室videos4k| 亚洲欧美精品在线| 91精品国产一区| 精品国产一区二区三区四区在线观看| 亚洲天堂成人在线| 色老头一区二区三区在线观看|