JavaScript中通常分為兩種類型轉(zhuǎn)換,“隱式強(qiáng)制類型轉(zhuǎn)換”(implicit coercion)和“顯式強(qiáng)制類型轉(zhuǎn)換”(explicit coercion)。

下面所有代碼的源碼可以在此處查看。

一、強(qiáng)制轉(zhuǎn)換為字符串(ToString)

1)ToString

基本類型值的字符串化規(guī)則為:null轉(zhuǎn)換為"null",undefined轉(zhuǎn)換為"undefined",true轉(zhuǎn)換為"true"。數(shù)字的字符串化則遵循通用規(guī)則,不過那些極小和極大的數(shù)字使用指數(shù)形式:

// 1.07 連續(xù)乘以七個(gè) 1000var a = 1.07 * 1000 * 1000 * 1000 * 1000 * 1000 * 1000 * 1000;// 七個(gè)1000一共21位數(shù)字console.log(a.toString()); // "1.07e21"

對普通對象來說,除非自行定義,否則toString()(Object.prototype.toString())返回內(nèi)部屬性[[Class]]的值

2)JSON

JSON.stringify(..)在對象中遇到undefined、function和symbol時(shí)會(huì)自動(dòng)將其忽略,在數(shù)組中則會(huì)返回null(以保證單元位置不變)。

如果對象中定義了toJSON()方法,JSON字符串化時(shí)會(huì)首先調(diào)用該方法,然后用它的返回值來進(jìn)行序列化。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式