数据类型转换
什么是数据类型转换
使用表单、prompt获取管理的数据默认是字符串类型的,此时就不能直接简单的进行加分运算,而需要转换变量的数据类型,通俗来说,就是把一种数据类型的变量转换成另外一种数据类型
我们通常会实现3种方式的转换:
- 转换为字符串类型
- 转换成数字型
- 转换布尔值
转换为字符串
方式 | 说明 | 案例 |
---|---|---|
toString() | 转成字符串 | var num = 1;alert(num.toString()); |
String()强制转换 | 转成字符串 | var num =1;alert(String(num)); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var num = 1;alert(num+"我是字符串"); |
- toString()和String()使用方式不一样。
- 三种转换方式,我们更喜欢用第三种加号拼接字符串转换方式,这一种方式也称之为隐式转换。
// 1.把数字型转换为字符型 toString();
var num = 10;
var str = num.toString();
console.log(str);
console.log(typeof str);
// 2.我们利用String()
console.log(String(num));
// 3.利用 +(拼接)字符串的方法实现转换效果
console.log(num + '');
转换为数字型(重点)
方式 | 说明 | 案例 |
---|---|---|
parselnt(string)函数 | 将string类型转成整数数值型 | parselnt('98') |
parseFloat(string)函数 | 将string类型转成浮点数 | parseFloat('78.21') |
Number()强制转换函数 | 将string类型转换为数值型 | Number('12') |
js隐式转换(- * /) | 利用算术运算隐式转换为数值型 | '12'-0 |
转换成为布尔型
方式 | 说明 | 案例 |
---|---|---|
Boolean()函数 | 其他类型转成布尔型 | Boolean('true') |
- 代表空、否定的值会转换为false,如 ''、0、NaN、null、undefined
- 其余的值都会被转换成true
示例:
案例 1:计算年龄
此案例要求在页面中弹出一个输入框,我们输入出生年份后,能计算出我们的年龄。
案例分析
- 弹出一个输入框(prompt),让用户输入出生年份(用户输入)
- 把用户输入的值用变量保存起来,然后用今年的年份减去变量值,结果就是现在年轻(程序内部处理)
- 弹出警示框(alert),把计算的结果输出(输出结果)
代码:
<script>
var year = prompt('请输入您的出生年份')
var age = 2020 - year; //year 取过来的是字符串型 但是这个用的减法 有隐式转换
alert('您今年已经'+age+'岁了')
</script>
案例 2:简单加法器
计算两个数的值,用户输入第一个值后,继续弹出第二个输入框并输入第二个值,最后通过弹出窗口显示出两次输入值相加的结果。
案例分析
- 先弹出第一个输入框,提示用户输入第一个值
- 再弹出第二个框,提示用户输入第二个值 保存起来
- 把这两个值相加,并将结果赋值给新的变量(注意数据类型转换)
- 弹出察示框(alert),把计算的结果输出(输出结果)
代码:
<script>
var num1 = prompt('请您输入第一个值')
var num2 = prompt('请您输入第二个值')
var result = parseFloat(num1) + parseFloat(num2);
alert('您的结果是:' + result)
</script>