基本方法:
function temp(){};
typeof temp == "function"
存在问题:
1、在FireFox中,Html元素对象,也会返回function;
2、在IE中,在Iframe使用中也会出问题;
3、在Safari中,DOM中的NodeList类型也会被识别为function;
兼容方法:
function isFunction(fn) {
return Object.prototype.toString.call(fn) === "[object Function]";
}
为避免某些对象可能有自己的toStirng函数,所以调用Object.prototype的toString函数,该方法可以解决上面的3个兼容问题,但该方法也只是相对完美,它也存在一些缺陷,例如,在IE中,DOM元素的方法返回“Object”,例如someNode.getAttribute()方法。