首页 - web前端开发

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);

运行结果: