Sorry I wasn't clear last round, two nit comment here:
1. allign the conditions
2. no space after ( and before )

should be like
```
return !!fn && !fn.nodeName &&
       fn.constructor != String && fn.constructor != RegExp &&
       fn.constructor != Array && /function/i.test(fn + "");
```