var a=123;
console.log(typeof a);
console.log(a);
未转换数据数据类型,此时a的类型为number,值为123。
19:35:50.783 number at 强制类型转换.html:16
19:35:50.792 123 at 强制类型转换.html:17
方法一:调用被转换数据类型的toString()方法
var a=123;
a.toString();//a=a+""; 也可以用这种方法实现
调用toString()方法,将number转换为string,值为“123”。
19:46:43.004 string at 强制类型转换.html:14
19:46:43.007 123 at 强制类型转换.html:15
调用toString()方法,也可转换Boolean类型。
a=true; //此时类型为boolean
a=a.toString();
20:03:43.335 string at 强制类型转换.html:15
20:03:43.338 true at 强制类型转换.html:16
注:此方法不可转换null类型和undefined类型。
方法二:调用String()函数
var a=123;
a=String(a);
调用String()函数,将number转换为string,值为“123”。
20:11:38.835 string at 强制类型转换.html:14
20:11:38.836 123 at 强制类型转换.html:15
var a=123;
a=null;
未转换前此时数据类型为object。
20:13:38.586 object at 强制类型转换.html:15
调用String()函数,将object转换为string,值为“null”。
var a=123;
a=null;
a=String(a);
20:22:43.234 string at 强制类型转换.html:15
20:22:43.245 null at 强制类型转换.html:16
var a=123;
a=undefined;
未转换前此时数据类型为undefined。
20:27:40.062 undefined at 强制类型转换.html:15
调用String()函数,将undefined转换为string,值为“undefined”。
var a=123;
a=undefined;
a=String(a);
20:33:06.917 string at 强制类型转换.html:15
20:33:06.938 undefined at 强制类型转换.html:16
* 使用String()函数做强制类型转换时,
对于Number和Boolean实际上就是调用的toString()方法,
但是对于null和undefined,就不会调用toString()方法,
它会将null直接转换为"null"
将undefined直接转换为"undefined”