JavaScript中,object轉(zhuǎn)換為boolean的操作非常簡(jiǎn)單:所有的object轉(zhuǎn)換成boolean后均為true;即使是new Boolean(false)這樣的object在轉(zhuǎn)換為boolean后仍然為true。
在將object轉(zhuǎn)換為string或者number時(shí),JavaScript會(huì)調(diào)用object的兩個(gè)轉(zhuǎn)換函數(shù):toString()與valueOf()。
toString()
toString()函數(shù)的作用是返回object的字符串表示,JavaScript中object默認(rèn)的toString()方法返回字符串”[object Object]“。定義類(lèi)時(shí)可以實(shí)現(xiàn)新的toString()方法,從而返回更加具有可讀性的結(jié)果。JavaScript對(duì)于數(shù)組對(duì)象、函數(shù)對(duì)象、正則表達(dá)式對(duì)象以及Date日期對(duì)象均定義了更加具有可讀性的toString()方法:
1.array的toString()方法將返回以逗號(hào)分隔的數(shù)組成員。比如,[1,2,3].toString()會(huì)返回字符串”1,2,3″。
2.function的toString()方法將返回函數(shù)的文本定義。比如,(function(x){return x*2;}).toString()會(huì)返回字符串”function(x){return x*2;}”。
3.RegExp的toString()方法與function的toString()方法類(lèi)似,將返回正則表達(dá)式的文本定義。比如,//d+/g.toString()會(huì)返回字符串”///d+/g”。
4.Date的toString()方法將返回一個(gè)具有可讀性的日期時(shí)間字符串。
valueOf()
valueOf()函數(shù)的作用是返回object的數(shù)值表示,JavaScript中object默認(rèn)的valueOf()方法會(huì)返回該object自身。與toString()一樣,定義類(lèi)時(shí)可以實(shí)現(xiàn)新的valueOf()方法,從而返回需要的結(jié)果。JavaScript對(duì)于Date對(duì)象定義了更加具有可讀性的valueOf()方法:
1.Date的valueOf()方法將返回一個(gè)數(shù)值,該數(shù)值為Date對(duì)象與1970年1月1日零時(shí)的時(shí)間差(以毫秒為單位)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注