数据类型包括:
基础数据类型,引用数据类型。
两者区别:
基础数据存放在栈,引用数据存放在堆里面
1:基础数据类型:
Number(数字类型)、NaN( 非数字类型 )、String (字符串类型), Boolean(布尔类型)
Number(数字类型):
包含整型值和浮点型值,如:1
0.1
NaN( 非数字类型 ):
数学计算过程中若出现非Number
类型,则计算结果就是NaN
String(字符串类型):
符串类型。
Boolean(布尔类型):只有true
和false
两种值。
-
普通字符串
'hello world'
或"hello world"
2:引用数据类型:
Array(数组类型)、Object(对象类型)
Array:
var numArr = [0,1,2,3,4,5,6,7,8,9]
Object:
var obj = {
name:"小明",
age:22,
isAdult:true,
}
检测数据类型:
typeof:用来判断基础数据类型
1:用法:
var stuNum = 10
var isTrue = false
// 输出数据、数据类型、typeof结果的数据类型
console.log(stuNum, typeof stuNum, typeof(typeof stuNum));
// 输出数据、数据类型
console.log(isTrue, typeof isTrue);
// 判断数据类型
if(typeof stuNum == "number"){
console.log("是number")
}
2:instanceof:用来判断引用数据类型。
var arr = [1,2,3]
var obj = {name:"小明"}
// 输出数据、数据类型、typeof结果的数据类型
console.log(arr, arr instanceof Array, typeof(arr instanceof Array));
// 输出数据、数据类型
console.log(obj, obj instanceof Object);
数据类型转换
1:转为String方法:使用toString()、String(变量)。其中String(变量)是强制类型转换!!
隐式转换
// Number类型 => String类型
var num = 50
var numToString = num + ''
console.log(numToString, typeof numToString);
// Boolean类型 => String类型
var bool = true
var boolToString = bool + ''
console.log(boolToString, typeof boolToString);
2:转为Number方法:使用parseInt(),parseFloat()
// 形如数字的字符串 => Number类型
var numStr = '50.15'
console.log(parseInt(numStr), typeof parseInt(numStr), 'parseInt');
// 非数字字符串
var str = 'hello world'
console.log(parseInt(str), 'parseInt')
// 形如数字的字符串 => Number类型
var numStr = '50.15'
console.log(parseFloat(numStr), typeof parseFloat(numStr), 'parseFloat');
// 非数字字符串
var str = 'hello world'
console.log(parseFloat(str), 'parseFloat')
3:转为Boolean方法:
var value = 2 - 2;
var result = Boolean(value)
console.log(value, typeof value)