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