数据类型转换
- JS中一共有两种类型转换:
- 隐式类型转换,是指JavaScript自动进行的类型转换。
- 显式类型转换 ,是指我们手动用代码进行的类型转换。
字符串转数字
函数 | 作用 |
---|---|
Number() | 用于把所有只有数字的字符串转成数字,如“123” |
parseInt() | 用于把首字母是数字的字符串中数字的整数部分转成数字,如“123hhh” |
parseFloat() | 用于把首字母是数字的字符串中数字的整数和小数部分转成数字,如“123.3hhh” |
- Number()
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script type="text/javascript">
var string1 = "1234";
var string2 = "123hhh";
var string3 = "123.12hhh";
document.write(Number(string1) + '<br/>');
document.write(Number(string2) + '<br/>');
document.write(Number(string3) + '<br/>');
</script>
</head>
<body>
</body>
</html>
Number()只能强制转化只由数字组成的字符串。NaN表示的是 not a number的意思
- parseInt()
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script type="text/javascript">
var string1 = "1234";
var string2 = "123hhh";
var string3 = "123.12hhh";
document.write(parseInt(string1) + '<br/>');
document.write(parseInt(string2) + '<br/ >');
document.write(parseInt(string3) + '<br/>');
</script>
</head>
<body>
</body>
</html>
parseInt()可以转化带有非数字的字符串,它的工作原理是从左往右一个一个比较,当遇到非数字,则停止,转化前面的数字部分的整数部分。
- parseFloat()
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script type="text/javascript">
var string1 = "1234";
var string2 = "123hhh";
var string3 = "123.12hhh";
document.write(parseFloat(string1) + '<br/>');
document.write(parseFloat(string2) + '<br/>');
document.write(parseFloat(string3) + '<br/>');
</script>
</head>
<body>
</body>
</html>
parseFloat()的工作原理和parseInt()一样,不仅可以转化整数部分,还可以转化小数部分。
数字转化为字符串
- 把数字转化为字符串有两种方法:
- 数字与空字符串相加,我们更多的使用这种方法,这是一种隐式转化。
- toString()函数。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script type="text/javascript">
var num = 1234;
var str1 = num + "";
var str2 = num.toString();
document.write(typeof(str1) + '<br/>');
document.write(typeof(str2) + '<br/>');
</script>
</head>
<body>
</body>
</html>