函数定义的形式很多.常见的有下面几种.
1.自定义函数(命名函数)
function fn(){};
2.函数表达式(匿名函数)
var fun =function(){};
3.利用new Function('n1','n2','n3',........,'函数体')
var fun =new Function('a','b','c','console.log(a+b+c)'); fun(1,2,3);
3.1Function中必须都是字符串格式
3.2第三种方式执行效率低,所以很少用
4.所有函数都是Function的实例对象,函数也是属于对象
var fun =new Function('a','b','c','console.log(a+b+c)'); fun(1,2,3);
console.dir(fun);
console.log(f instanceof Object);
所以其中具体的对象关系可以总结为下图所示.
同样的逻辑关系对象也能旁通到ES5常用的构造函数与对象的属性继承.