JavaScript 数据类型转换

一、类型转换简介

所谓的类型转换,就是将一种数据类型转换为另外一种数据类型,例如上一节课说到的,如果一个数字与一个字符串相加,JavaScript会自动将数字转换为字符串,然后再与另外一个字符串相加(隐式类型转换)。

我们都知道,JavaScript是一种弱类型的语言,这一点区别于传统编程语言(如C和Java)。虽然在运算时,JavaScript会自动进行类型转换,但是为了避免自动转换或不转换产生的不良后果,有时候我们需要进行显式的类型转换。

隐式类型转换指的是JavaScript自动进行的类型转换,显式类型转换指的是我们手动用代码强制进行的类型转换。

1、字符串型转换为数值型

在JavaScript中,将字符串型数据转换为数值型数据有parseInt()和parseFloat()这2种方法。其中,parseInt()可以将字符串转换为整型数据;parseFloat()可以将字符串转换为浮点型数据。

语法:

parseInt()  //将字符串型转换为整型
parseFloat()  //将字符串型转换为浮点型

说明:将字符串型转换为整型,前提是字符串一定要是数值字符串。那什么叫数值字符串呢?“123”、“3.1415”这些只有数字的字符串就是数值字符串,而“hao123”、“360cn”等就不是数值字符串。

举例:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var m=parseInt("3.14")+10;
        var n=parseFloat("3.14")+10;
        document.write(m+"<br/>");
        document.write(n);
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:

JavaScript 字符串型转换为数值型

分析:parseInt("3.14")的结果是3,而parseFloat("3.14")的结果是3.14。大家好好理解一下。

2、数值型转换为字符串型

在JavaScript中,将数值型数据(整型或浮点型)转换为字符串,都是使用toString()方法。

语法:

.toString()

举例:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var n=3.1415;
        var str=n.toString()+926;
        var num=n+926;
        document.write(str+"<br/>");
        document.write(num);
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:

JavaScript 数值型转换为字符串型

分析:这个例子虽然简单,不过涉及知识也不少。大家好好琢磨一下,也是非常值得思考的一个例子。

记住,算术运算符的两边必须都是数值,若在“+”运算中存在字符或字符串,则该表达式将是字符串表达式。因为JavaScript会自动将数值型数据转换成字符串型数据。

类型转换虽然内容比较少,但是在实际开发中,我们会经常要用到的。