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 

 

posted @ 2018-11-13 10:49  心向阳  阅读(129)  评论(0编辑  收藏  举报