JavaScript数据类型转换

2 篇文章 0 订阅
2 篇文章 0 订阅

1.检测数据类型

在javascript中,我们经常使用typeof 来检查数据的类型

语法:typeof + 数据,通常跟着输入输出来使用
var str = 'pink';
console.log(typeof str);//string
var a1 = null;
console.log(typeof a1);//object
var age = prompt('请输入你的年龄');//输入一个数字
console.log(age);//12
console.log(typeof age);//string

2. 转换为字符串型

我们常用的数据类型转换成字符串的方式有三种
1.使用toString方法
2.String()函数
3.利用拼接字符串的方法
//1 
var num = 10;
var str = num.toString();
console.log(str);//String

//2
console.log(typeof String(num));

//3
console.log(typeof (num + ''));

3.转换为数字型

1.parseInt(变量) 字符型转换为数字型,得到的是整数,遇到非数字就会裁剪,但是第一个必须是数字否则使用parseInt(变量)的时候会变成NaN
2.parseFloat(变量); 与parseInt的区别主要就是保留小数
3.Number(变量)函数
4.利用了算数运算 - * / 隐式转换
var age = prompt('请输入你的年龄');//输出为string类型的数据,我们这里输入12
//1
//在这里我们不能通过typeof去确定数字类型,我们可以通过观察控制台的颜色去判断
console.log(typeof parseInt(age));//object 这是一个对象类型
console.log(parseInt(age));//12
console.log(parseInt('3.13'));//3取整
console.log(parseInt('120px'));
console.log(parseInt('em120px'));

//2
console.log(parseFloat('3.14'));
console.log(parseFloat('120px'));
console.log(parseFloat('em120px'));

//3
var str = '123';
console.log(Number(str));
console.log(Number('12'));

//4
console.log('12' - 0);//12
console.log('123' - '120');//3
console.log('123' * 1);//123
console.log('string1' - 1);//NaN

4.转换为布尔型

布尔型的值只有true和false,我们只有几种特殊的情况是转换成false的,其他的都是转换成true

// false
console.log(Boolean(""));
console.log(Boolean(0));
console.log(Boolean(NaN));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Infinity);

console.log('--------------');

// true
console.log(Boolean("123"));
console.log(Boolean("hello"));
console.log(Boolean("你好"));

5.实际应用小案例

问题1:弹出一个输入框,输入你的出生年,可以判断出你的年龄
var year = prompt('请输入你的出生年份');
var age = 2021 - year;//虽然year是String类型,但是数字运算会发生隐式转换
alert('你的年龄是:' + age + '岁');
问题2:简单加法器的实现,分别弹出俩个输入框,输入的数字会进行相加
//这里用到的是parseFloat,因为可能有小数的计算
var num1 =  prompt('请输入第一个值');
var num2 = prompt('请输入第二个值');
var result = parseFloat(num1) + parseFloat(num2);
alert('你的结果是' + result);
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值