JavaScript可以怎样去强制类型转换?
一、转换成字符串类型(String)
1.使用强制类型转换toString()方法,null和undefined使用该方法时会报错
例:
var age = 12;
console.log(typeof age.toString());
运行结果: string
2.调用String()函数实现强制类型转换,可以强制转换null和undefined,在强制转换null和undefined时不会调用toString()方法,而是将其转换成"null"和“undefined”
例:
var a = null;
var b = undefined;
a = String(a);
b = String(b);
console.log(a);
console.log(b);
console.log(typeof a);
console.log(typeof b);
运行结果:

3.在该变量后面加上 +“” 可以实现强制类型转换,该变量可为任意数据类型
例:
var a = 1;
var b = null;
var c = NaN;
var d = undefined;
var e = {};
a = a + "";
b = b + "";
c = c + "";
d = d + "";
e = e + "";
console.log(typeof a);
console.log(typeof b);
console.log(typeof c);
console.log(typeof d);
console.log(typeof e);
运行结果:

二、转换成布尔值类型(Boolean)
1.使用取反符号 !
var a = !null;
var b = !undefined;
console.log("a的值为:" + a + "类型为: " + typeof(a));
console.log("a的值为:" + b + "类型为: " + typeof(b));
运行结果:

2.使用Boolean()函数,NaN、0、""、null、undefined、false均为false,对象{}为true
console.log(Boolean(0));
console.log(Boolean(NaN))
console.log(Boolean(""));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Boolean({}));
运行结果:

三、转换为数值类型(Number)
可以使用Number()、parseInt() 和parseFloat()这几个函数,Number()可以用来转换任意类型的数据,而后两者只能用于转换字符串。
1.使用Number()函数:
①字符串转换为数值类型,为空字符串,或字符串内都是空格的强制转换后为 0;当字符串都为数值,便会转换为对应的数值,当字符串含有非数字内容是会转换为NaN 。
②布尔值转换为数值类型,true转换后为1,false转换后为0
③null转换为数值类型,转换后为0
④undefined转换为数值类型,转换后为NaN
⑤Object转换为数值类型,转换后为NaN
2.使用parseInt()只会将字符串转换为整数,而parseFloat()可以将字符串转换为浮点数。
var a = "123";
var b = "3.1415";
a = parseInt(a);
console.log(a);
console.log(typeof a);
console.log("-----------------------------------");
b = parseFloat(b);
console.log(b);
console.log(typeof b);
运行结果:

上一篇:css选择器:nth-child
下一篇:javascript 中文转un