<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var a="123";
console.log(typeof a);
console.log(a);
</script>
</head>
<body>
</body>
</html>
转换方式一:调用Number()函数来将a转换为Number类型**
var a="123";
a=Number(a);
console.log(typeof a);
console.log(a);
需要注意的是,如果你要转换的变量的纯数字字符,则转成的就是同样的纯数字,而如果要转换的变量含有字符,则会出现以下情况
var a="123a";
a=Number(a);
console.log(typeof a);
console.log(a);
还有一种特殊的情况,就是变量为空时,则转换为Number类型的值为0
-----------Boolean类型转为Number类型--------------
var a=true;
a=Number(a);
console.log(typeof a);
console.log(a);
当为true时,转成Number类型的值为
var a=false;
a=Number(a);
console.log(typeof a);
console.log(a);
为false时,转成Number类型的值为
------------------null转成Number类型----------------
---------------undefined转成Number类型--------------
转换方式二:调用parseInt()函数(专门针对字符串)
var a='128px';
a=parseInt(a);
console.log(typeof a);
console.log(a);
由此可见,parseInt()函数可以将有效的整数取出,然后转换为Number类型,不过需要注意的是,parseInt()函数对数据的读取是从左往右读的,读到字符就不读了
var a='12a8px';
a=parseInt(a);
console.log(typeof a);
console.log(a);
var a='a12a8px';
a=parseInt(a);
console.log(typeof a);
console.log(a);
如果是以字符串开头的数据,则会出现这种情况
如果有小数点,则只读小数点左边的数据(取整)
var a='12.8px';
a=parseInt(a);
console.log(typeof a);
console.log(a);
如果要取小数,则可以使用parseFloat()函数
var a='12.8px';
a=parseFloat(a);
console.log(typeof a);
console.log(a);
如果是非String类型数据用parseInt()和parseFloat()函数转成Number,则首先会将其转换成String类型,再转成Number类型。
var a=true;
a=parseFloat(a);
console.log(typeof a);
console.log(a);