因为没有学过其他编程语言,因此作为我的第一门编程“母语”我在这就不举其他编程语言的例子了,JavaScript这个动态类型脚本语言的变量号称是没有类型的,那么我们怎么转换他的变量呢?而且还要强行转换。
JavaScript的变量的确是没有类型的,就是说你用var声明变量后,可以随便给变量赋值,不会有任何问题。可是赋给变量的值本身自己是有类型地,例如String,Object,Boolean和Number等。所以JavaScript的变量本身还是有类型转换的,当然很多时候JavaScript解析引擎会默认处理很多的类型转换。不过有时候也需要强行转换数据类型,最常见的就是:“”+数字 +数字,这种情况会生成字符串累加。
- Number函数,可以将数值字符串,对象,和布尔型变量强制转换成数字型的。
- Object函数,可以将数值字符串,数字,和布尔型变量强制转换成对象型的。
- String函数,可以将数字,对象,和布尔型变量强制转换成字符串型的。
- Boolean函数,可以将数值字符串,对象,和数字型变量强制转换成布尔型的。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>JavaScript中的强制类型转换</title>
</head>
<body>
<center>
<h1>JavaScript中的强制类型转换</h1>
<hr>
<br>
<h5>显示如下变更信息……</h5>
<pre>
<script>
var str = '100';//声明一个字符串变量str,初始值是“100”
var num = Number(str);//用number强制类型转换将str转换为数字类型并赋值给num变量 document.writeln(typeof(num) + ':' + num);//打印num的类型和值
var obj = Object(str);//用object强制类型转换将str转换成对象类型并赋值给obj变量 document.writeln(typeof(obj) + ':' + obj);//打印obj的类型和值
var bool = Boolean(str);//用Boolean强制类型转换将str转换成布尔类型并赋值给bool变量 document.writeln(typeof(bool) + ':' + bool);//打印bool的类型和变量
document.writeln();
var num = 100 ;//声明一个字符串变量num,初始值为100
var str = String(num);//用string强制类型转换将num转换为字符类型并赋值给str变量 document.writeln(typeof(str) + ':' + str);
var bool = Boolean(num); document.writeln(typeof(bool) + ':' + bool);
var obj = Object(num); document.writeln(typeof(obj) + ':' + obj);
document.writeln();
var bool = true;
var str = String(bool); document.writeln(typeof(str) + ':' + str);
var num = Number(bool); document.writeln(typeof(num) + ':' + num);
var obj = Object(bool); document.writeln(typeof(obj) + ':' + obj);
document.writeln;
var obj = {};
var str = String(obj); document.writeln(typeof(str) + ':' + str);
var num = Number(obj); document.writeln(typeof(num) + ':' + num);
var bool = Boolean(obj); document.writeln(typeof(bool) + ':' + bool);
</script>
</pre>
</center>
</body>
</html>
摘自《JavaScript实力精通》