(function(){
function isFunction(fn) {
if(typeof fn != "function") return false;
if(typeof fn.constructor != "function") return false;
return fn.constructor.prototype.hasOwnProperty( "call" );
}
var obj = { call: function(){} };
var htmlColl = document.links;
var nodeList = document.getElementsByTagName("div");
var trues = [
isFunction(parseInt) // true
,isFunction(Function()) // true
,isFunction(Object) // true
];
var falses = [
isFunction( obj ) // false 1
,isFunction( nodeList ) // false 2
,isFunction( htmlColl ) // false 3
,isFunction(Array()) // false 4
,isFunction(undefined) // false 5, no error
,isFunction(true) // false 6, no error
];
return trues.concat(falses).join(" ");
})();
| Expected: |
true true true false false false false false false |
| Actual: | |