函数是对象,通过下面代码就能验证
var fn = function(){};
console.log(fn instanceof Object);//true
函数跟对象之间的关系比较复杂
首先:所有对象都是通过函数创建的;有些人可能反驳,不对因为:
var obj = {a:10,b:20};
var arr = [5,'x'];
function fn = {};
但事实上这不过是js的语法糖,他们编译后或者说代码本质是
var obj = new Object();
obj.a = 10;
obj.b = 20;
var arr = new Array();
arr[0] = 5;
arr[1] = 'x';
var fn = new Function("");
所以结论是javascript中所有对象都是函数创建的,而函数又是一种对象。。