JavaScript 轉(zhuǎn)換為字符串
■知識(shí)點(diǎn)
常用值轉(zhuǎn)換為字符串說(shuō)明如下。
1 => "1"
0 => "0"
true => "true"
false => "false"
"" => ""
Undefined => "undefined"
null => "null"
NaN => "NaN"
Infinity => "Infinity"
把值轉(zhuǎn)換為字符串的常用方法有以下兩種。
使用加號(hào)運(yùn)算符,當(dāng)值與空字符串相加時(shí),JavaScript會(huì)把值轉(zhuǎn)換為字符串。
使用toString()方法。
■實(shí)例設(shè)計(jì)
把數(shù)字轉(zhuǎn)換為字符串,返回?cái)?shù)字字符串本身。
var n = 123;
n = n + "";
console.log (typeof n) ; //返回類型為 string
把布爾值轉(zhuǎn)換為字符串,返回字符串為"true"或"false”。
var b = true;
b = b + "";
console.log (b) ; //返回字符串"true"
把數(shù)組轉(zhuǎn)換為字符串,返回?cái)?shù)組元素列表,以逗號(hào)分隔。如果是空數(shù)組,則返回空字符串。
var a = [1,2,3];
a = a + "";
console. log (a) ; //返回字符串"l,2,3”
把函數(shù)轉(zhuǎn)換為字符串,返回函數(shù)的具體代碼字符串。
var f = function(){ return 1;};
f = f + "";
console.log (f) ; //返回字符串"function() { return 1;}"
如果是內(nèi)置類型函數(shù),則返回構(gòu)造函數(shù)的基本結(jié)構(gòu),省略函數(shù)的具體實(shí)現(xiàn)代碼。而自定義類型函數(shù),則與普通函數(shù)一樣,返回函數(shù)的具體實(shí)現(xiàn)代碼字符串。
d = Date + "";
console . log (d) ; //返回”function Date () { [ native code ] }"
如果是內(nèi)置靜態(tài)函數(shù),則返回[object Class]格式的字符串表示。
m = Math + "";
console. log (a) ; //返回字符串 ” [object object]"
如果把對(duì)象轉(zhuǎn)換為字符串,具體說(shuō)明如下。
如果是對(duì)象直接量,返回字符串為"[object object]"
var a = {
x :1
}
a = a + "";
console.log(a);
如果是自定義類的對(duì)象實(shí)例,則返回字符串為"(object object]"。
var a =new function (){}();
a = a + "";
console.log (a) ; //返回字符串"[object object]"
如果是內(nèi)置對(duì)象實(shí)例,具體返回字符串將根據(jù)參數(shù)而定。
正則表達(dá)式對(duì)象會(huì)返回匹配模式字符串,時(shí)間對(duì)象會(huì)返回當(dāng)前GMT格式的時(shí)間字符串,數(shù)值對(duì)象會(huì)返回傳遞的參數(shù)值字符串或者0等。
a = new RegExp(/^\w$/) + "";
console, log (a); //返回字符串"/A\w$/"
當(dāng)為簡(jiǎn)單的值調(diào)用toString()方法時(shí),JavaScript會(huì)自動(dòng)把它們封裝為對(duì)象,然后再調(diào)用toString()方法,獲取對(duì)象的字符串表示。
var a = 123456;
a.toString();
console. log (a); //返回字符串"123456"
使用加號(hào)運(yùn)算符轉(zhuǎn)換字符串,實(shí)際上也是調(diào)用toStringO方法來(lái)完成,只不過(guò)是JavaScript自動(dòng)調(diào)用toString()方法實(shí)現(xiàn)的。
點(diǎn)擊加載更多評(píng)論>>