1、怎么判断是数组、对象、函数
判断是数组还是对象
var arr=[]; Object.prototype.toString.call(arr) ==='[object Array]';
console.log(Object.prototype.toString.call(arr) ==='[object Array]'; ) //false
Object.prototype.toString方法会取得对象的一个内部属性[[Class]],然后依据这个属性,返回一个类似于[object Array]的字符串作为结果,call用来改变toString的this指向为待检测的对象
同理判断一个对象是否是函数:
console.log(Object.prototype.toString.call(obj)==='[object Function]') //true或false