1.分类
js的基本(值)类型有:string、number、boolean、undefined、null
对象(引用)类型有:object
备注:
function:一种特别的对象(可以执行)
array: 一种特别的对象(数值下标,内部数据是有序的)
2.判断
typeof
- 可以判断:undefined/数值/字符串/布尔值/function
- 不能区别:null与object;object与array
instanceof:判断对象的具体类型
===
可以判断:undefined,null
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<script>
var a;
console.log(a, typeof a, typeof a === "undefined", a === undefined); //undefined "undefined" true true
console.log(undefined === "undefined"); //false
a = 4;
console.log(typeof a === "number"); //true
a = "asdfg";
console.log(typeof a === "string"); //true
a = true;
console.log(typeof a === "boolean"); //true
a = null;
console.log(typeof a, a === null); //'object',true
console.log("==========");
//2.对象
var b1 = {
b2: [1, "abc", console.log],
b3: function() {
console.log("b3");
return function() {
return "xfzhang";
};
}
};
console.log(b1 instanceof Object, b1 instanceof Array); //true false
console.log(b1.b2 instanceof Array, b1.b2 instanceof Object); //true true
console.log(b1.b3 instanceof Function, b1.b3 instanceof Object); //true true
console.log(typeof b1.b2); //'object'
console.log(typeof b1.b3 === "function"); //true
console.log(typeof b1.b2[2] === "function"); //true
b1.b2[2](4);
console.log(b1.b3()());
</script>
</body>
</html>
视频链接:https://www.bilibili.com/video/av41708223/?p=3