JavaScript 基本數(shù)據(jù)類型轉(zhuǎn)換你了解嘛
前言
數(shù)據(jù)類型轉(zhuǎn)換是我們?cè)谇岸碎_(kāi)發(fā)中經(jīng)常遇到的場(chǎng)景,一般而言,在 JavaScript 中類型轉(zhuǎn)換有三種情況:
- 轉(zhuǎn)換為數(shù)字(調(diào)用 Number(),parseInt(),parseFloat()方法)
- 轉(zhuǎn)換為字符串(調(diào)用.toString()或 String()方法)
- 轉(zhuǎn)換為布爾值(調(diào)用 Boolean()方法)
需要注意的是:null、undefined 沒(méi)有.toString()
方法。
轉(zhuǎn)換為數(shù)字
Number(string) 方法
Number()
可以把任意值轉(zhuǎn)換成數(shù)字,如果要轉(zhuǎn)換的目標(biāo)對(duì)象(一般是字符串)中有不是數(shù)字的值,則會(huì)返回 NaN
。
Number('1') // 1 Number(true) // 1 Number('123s') // NaN Number({}) //NaN
parseInt(string, radix)
解析一個(gè)字符串并返回指定基數(shù)的十進(jìn)制整數(shù),radix 是 2-36 之間的整數(shù),表示被解析字符串的基數(shù)。
parseInt('2') //2 parseInt('2',10) // 2 parseInt('2',2) // NaN parseInt('a123') // NaN 如果第一個(gè)字符不是數(shù)字或者符號(hào)就返回NaN parseInt('123a') // 123
parseFloat(string)
解析一個(gè)參數(shù)并返回一個(gè)浮點(diǎn)數(shù)。
parseFloat('123a') //123 parseFloat('123a.01') //123 parseFloat('123.01') //123.01 parseFloat('123.01.1') //123.01
隱式轉(zhuǎn)換
let str = '123'-str// -123str+1 // '1231'+str+1 // 124let res = str - 1 //122let str = '123' -str // -123 str+1 // '1231' +str+1 // 124 let res = str - 1 //122
轉(zhuǎn)換為字符串
toString()
將目標(biāo)對(duì)象轉(zhuǎn)換為字符串。
注意:null,undefined 不能調(diào)用。
Number(123).toString() //'123' [].toString() //'' true.toString() //'true'
String()
String()
的作用比較強(qiáng)大,它可以將任何傳入的值都轉(zhuǎn)為字符串。
String(123) //'123' String(true) //'true' String([]) //'' String(null) //'null' String(undefined) //'undefined' String({}) //'[object Object]'
隱式轉(zhuǎn)換
當(dāng) + 兩邊有一個(gè)是字符串,另一個(gè)是其它類型時(shí),會(huì)先把其它類型轉(zhuǎn)換為字符串再進(jìn)行字符串拼接,返回字符串:
let a = 1 a + '' // '1'
轉(zhuǎn)換為布爾值
Boolean()
Boolean()
方法會(huì)將以下值轉(zhuǎn)換為 false:
- 0
- “”
- null
- undefined
- NaN
其余的所有值都會(huì)被轉(zhuǎn)換為 true。
Boolean('') //false Boolean(0) //false Boolean(1) //true Boolean(null) //false Boolean(undefined) //false Boolean(NaN) //false Boolean({}) //true Boolean([]) //true
條件語(yǔ)句
在條件語(yǔ)句中,我們一般不會(huì)主動(dòng)進(jìn)行布爾轉(zhuǎn)換。
let a if(a) { //... //這里a為undefined,會(huì)轉(zhuǎn)為false,所以該條件語(yǔ)句內(nèi)部不會(huì)執(zhí)行 }
隱式轉(zhuǎn)換
let str = '111' console.log(!!str) // true
總結(jié)
以上就是 JavaScript 基本數(shù)據(jù)類型轉(zhuǎn)換相關(guān)的知識(shí)總結(jié),其中最需要注意的是隱式轉(zhuǎn)換。
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
- JavaScript數(shù)據(jù)類型轉(zhuǎn)換實(shí)例(其他類型轉(zhuǎn)字符串、數(shù)值型、布爾類型)
- JavaScript數(shù)據(jù)類型轉(zhuǎn)換詳解(推薦)
- JavaScript顯式數(shù)據(jù)類型轉(zhuǎn)換詳解
- JavaScript的數(shù)據(jù)類型轉(zhuǎn)換原則(干貨)
- javascript基本數(shù)據(jù)類型和轉(zhuǎn)換
- JavaScript中數(shù)據(jù)類型轉(zhuǎn)換總結(jié)
- 詳解Javascript數(shù)據(jù)類型的轉(zhuǎn)換規(guī)則
- 全面了解JavaScript的數(shù)據(jù)類型轉(zhuǎn)換
- JavaScript實(shí)現(xiàn)數(shù)據(jù)類型的相互轉(zhuǎn)換
- JavaScript中的數(shù)據(jù)類型轉(zhuǎn)換方法小結(jié)
- 淺談JavaScript數(shù)據(jù)類型及轉(zhuǎn)換
- Javascript基礎(chǔ)教程之?dāng)?shù)據(jù)類型轉(zhuǎn)換
- js 數(shù)據(jù)類型轉(zhuǎn)換總結(jié)筆記
- JavaScript數(shù)據(jù)類型轉(zhuǎn)換
相關(guān)文章
JavaScript高級(jí)程序設(shè)計(jì) 學(xué)習(xí)筆記 js高級(jí)技巧
JavaScript高級(jí)程序設(shè)計(jì) 學(xué)習(xí)筆記 js高級(jí)技巧,學(xué)習(xí)js的朋友可以參考下。2011-09-09javascript學(xué)習(xí)筆記(五) Array 數(shù)組類型介紹
javascript學(xué)習(xí)筆記之Array 數(shù)組類型介紹,需要的朋友可以參考下2012-06-06基于JavaScript 數(shù)據(jù)類型之Boolean類型分析介紹
本篇文章小編為大家介紹,基于JavaScript 數(shù)據(jù)類型之Boolean類型分析介紹。需要的朋友參考下2013-04-04深入探討JavaScript的最基本部分之執(zhí)行上下文
今天小編就為大家分享一篇關(guān)于深入探討JavaScript的最基本部分之執(zhí)行上下文,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02Javascript & DHTML 實(shí)例編程(教程)DOM基礎(chǔ)和基本API
Javascript & DHTML 實(shí)例編程(教程)DOM基礎(chǔ)和基本API...2007-06-06分享javascript實(shí)現(xiàn)的冒泡排序代碼并優(yōu)化
本文給大家匯總介紹了幾個(gè)個(gè)人收藏的JavaScript實(shí)現(xiàn)冒泡排序的代碼,都是非常的不錯(cuò),有需要的小伙伴可以參考下2016-06-06javascript中數(shù)組array及string的方法總結(jié)
本文結(jié)合自己的使用經(jīng)驗(yàn),給大家總結(jié)了javascript中數(shù)組array及string的使用方法,這里推薦給有需要的小伙伴。2014-11-11用JavaScript實(shí)現(xiàn)頁(yè)面重定向功能的教程
這篇文章主要介紹了用JavaScript實(shí)現(xiàn)頁(yè)面重定向功能的教程,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06