将基本数据类型转换为字符串类型
- 对于Number类型和Boolean类型来说, 直接利用变量调用toString()方法即可
var num = 123;
var res = num.toString();
console.log(res); // 在谷歌浏览器中String类型输出之后是灰色的
console.log(typeof res); // string
console.log(num); // 在谷歌浏览器中Number类型输出之后是蓝色的
console.log(typeof num);
var flag = true;
var res2 = flag.toString();
console.log(res2);
console.log(typeof res2);
- toString()方法会将调用者转换为字符串, 并且会将转换后的结果返回给我们,并且不会修改调用者原有的值
- 对于null和undefined来说, 不能通过调用toString()方法来转换
var n = null;
var res3 = n.toString(); // 会报错
var u = undefined;
var res4 = u.toString(); // 会报错
- toString()方法是可以接收参数的, 参数代表告诉解析引擎, 需要将Number类型转换为多少进制
- toString(2) 代表需要将调用者转换为2进制
- toString(8) 代表需要将调用者转换为8进制
- toString(16) 代表需要将调用者转换为16进制
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转换为字符串
- null, undefined这两个值没有toString()方法, 利用toString()方法不能将null, undefined转换为字符串.
所以就有了第二种方式:将需要转换的数据传递给String()函数
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
注意点:String()函数同样不会对原参数有影响
利用数运算符的加法运算来转换字符串
- toString()方法只能将Number和Boolean类型转换为字符串
- String()函数可以将Number/Boolean/null/undefined转换为字符串
- 利用算数运算符的加法运算来转换, Number/Boolean/null/undefined转换为字符串
- 格式: 需要转换的数据 + ""(空串)
var num = 123;
var flag = true;
var n = null;
var u = undefined;
// 任何类型和字符串相加, 都会先转换为字符串之后再相加
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
注意点:若不是空串,则会字符串拼接
var num = 123;
var res1 = num + "aaa";
console.log(res1); //123aaa
console.log(typeof res1); //string