js面试题

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 
原文地址:https://www.cnblogs.com/qdlhj/p/9951011.html