將基本數(shù)據(jù)類型轉(zhuǎn)換為字符串類型
- 對(duì)于Number類型和Boolean類型來說, 直接利用變量調(diào)用toString()方法即可
var num = 123;
var res = num.toString();
console.log(res); // 在谷歌瀏覽器中String類型輸出之后是灰色的
console.log(typeof res); // string
console.log(num); // 在谷歌瀏覽器中Number類型輸出之后是藍(lán)色的
console.log(typeof num);
var flag = true;
var res2 = flag.toString();
console.log(res2);
console.log(typeof res2);
- toString()方法會(huì)將調(diào)用者轉(zhuǎn)換為字符串, 并且會(huì)將轉(zhuǎn)換后的結(jié)果返回給我們,并且不會(huì)修改調(diào)用者原有的值
- 對(duì)于null和undefined來說, 不能通過調(diào)用toString()方法來轉(zhuǎn)換
var n = null;
var res3 = n.toString(); // 會(huì)報(bào)錯(cuò)
var u = undefined;
var res4 = u.toString(); // 會(huì)報(bào)錯(cuò)
- toString()方法是可以接收參數(shù)的, 參數(shù)代表告訴解析引擎, 需要將Number類型轉(zhuǎn)換為多少進(jìn)制
- toString(2) 代表需要將調(diào)用者轉(zhuǎn)換為2進(jìn)制
- toString(8) 代表需要將調(diào)用者轉(zhuǎn)換為8進(jìn)制
- toString(16) 代表需要將調(diào)用者轉(zhuǎn)換為16進(jìn)制
var num = 15;
var res1 = num.toString(2);
console.log(res1); //1111
var res2 = num.toString(8);
console.log(res2); //17
var res3 = num.toString(16);
console.log(res3); //f
將null, undefined轉(zhuǎn)換為字符串
- null, undefined這兩個(gè)值沒有toString()方法, 利用toString()方法不能將null, undefined轉(zhuǎn)換為字符串.
所以就有了第二種方式:將需要轉(zhuǎn)換的數(shù)據(jù)傳遞給String()函數(shù)
var num = 123;
var res1 = String(num);
console.log(res1); //123
console.log(typeof res1); //string
var flag = false;
var res2 = String(flag);
console.log(res2); //false
console.log(typeof res2); //string
var n = null;
var res3 = String(n);
console.log(res3); //null
console.log(typeof res3); //string
var u = undefined;
var res4 = String(u);
console.log(res4); //undefined
console.log(typeof res4); //string
注意點(diǎn):String()函數(shù)同樣不會(huì)對(duì)原參數(shù)有影響
利用數(shù)運(yùn)算符的加法運(yùn)算來轉(zhuǎn)換字符串
- toString()方法只能將Number和Boolean類型轉(zhuǎn)換為字符串
- String()函數(shù)可以將Number/Boolean/null/undefined轉(zhuǎn)換為字符串
- 利用算數(shù)運(yùn)算符的加法運(yùn)算來轉(zhuǎn)換, Number/Boolean/null/undefined轉(zhuǎn)換為字符串
- 格式: 需要轉(zhuǎn)換的數(shù)據(jù) + ""(空串)
var num = 123;
var flag = true;
var n = null;
var u = undefined;
// 任何類型和字符串相加, 都會(huì)先轉(zhuǎn)換為字符串之后再相加
var res1 = num + ""; // 123 + "" --> "123" + "" --> "123"
console.log(res1);
console.log(typeof res1);
var res2 = flag + "";
console.log(res2); //true
var res3 = n + "";
console.log(res3); //null
var res4 = u + "";
console.log(res4); //undefined
注意點(diǎn):若不是空串傅是,則會(huì)字符串拼接
var num = 123;
var res1 = num + "aaa";
console.log(res1); //123aaa
console.log(typeof res1); //string