基本数据类型: 数字类型,字符串,布尔类型,undefined,null
引用类型:object
typeof: 用于判断数据类型
一、基本数据类型
1. 数字类型:number 如10 0 -12 1.78
2. 字符串:string 如"a" ‘123’ “acviii”
3. 布尔类型:boolean 如true false
4. undefined:当变量定义额后没有赋值,默认值是undefined,此时类型是undefined
5. null:空
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JS数据类型</title>
</head>
<body>
<script type="text/javascript">
// 定义一个变量a
var a;
a = -10.78;
// typeof 检测变量的数据类型
alert(typeof a); // number
var b = 'I LOVE Javascript';
alert(typeof b);// string
var bool = true;
alert(typeof bool);
var d;
alert(d);// 弹出d变量值 undefined
alert(typeof d);//弹出d变量类型 undefined
var e = null;
alert(typeof e);
</script>
</body>
</html>
二、不同数据类型转换
//parseInt()数值转换
console.log(parseInt("QQ123"));//NAN
console.log(parseInt("123.99"));//123
//从左到右直到遇到第一个非数字字符为止,把第一个非数字字符前面的保留下来
console.log(parseInt("123.99abc")); // 123
console.log(parseInt("12rd3.99")); // 12
console.log(parseFloat("123.99"));// 123.99
console.log(parseFloat("123we.99")); // 123
console.log(parseFloat("aa123.99")); // NaN
console.log(parseFloat("123.9O9"));// 123.9
//Number() 把其他类型转数字
console.log(Number(true));// 1
console.log(Number(false));// 0
console.log(Number("23.456"));// 23.456
//Number必须要求字符串是纯数字的字符串,假如含有其他非数字或非小数点的字符则统一结果是NaN
console.log(Number("aa23.456")); // NaN
//Boolean() 把其他类型转成布尔值
console.log(Boolean("")); // false
console.log(Boolean("1245")); // true
console.log(Boolean(123));// true 非0数字转true
console.log(Boolean(0)); // false
//数值和字符串之间转换
var i = 8;
i = ""+8;
i = i.toString();
console.log(i);
三、其他类型转布尔类型
undefined---->false
null ----> false
数字----> +0 -0 NaN都会转false 其他为true
字符串----> "" '' 转false 其他为true
对象 ------> true
四、isNaN 非数字
//isNaN 非数字
console.log(isNaN("667jh"));//true
//纯数字字符串转数字 false
console.log(isNaN("123"));//false
console.log(isNaN(22.34)); // false
// 其他任何类型 vs 布尔类型 true转成1 false转成0 所以变成 "hello" 1 NaN 1
console.log(null == undefined); // true
console.log(undefined == null); // true
console.log("hello" == true);//false
console.log("hello" == false); // false NaN 0
console.log("1" == true); // true "1" == 1
console.log("1a" == 1); // false NaN == 1