1. js对象类型检测
1.typeof(只能区分基本类型和对象类型)
console.log(typeof(null)); //Object
console.log(typeof(false)); //boolean
console.log(typeof('str')); //String
console.log(typeof(11)); //number
console.log(typeof(undefined)); //undefined
console.log(typeof({})); //object
console.log(typeof([])); //Object
2.instanceof
//注意:判断时左边必须是一个对象,右边是对象类名或者构造函数
//常用方式
function Foo(){}
var f = new Foo()
console.log(f instanceof Foo) //true
//存在原形继承时
function Fa(){}
function Ch(){}
Ch.prototype = new Fa()
var f = new Ch()
console.log(f instanceof Ch) //true
console.log(f instanceof Fa) //true
//实现原理:
function instance_of(L, R) { //L 表示左表达式,R 表示右表达式
var O = R.prototype; // 取 R 的显示原型
L = L.__proto__; // 取 L 的隐式原型
while (true) {
if (