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);