首页 > 代码库 > 函数的角色

函数的角色

函数可以扮演3种角色,普通函数,类,普通对象。

function Func(){  this.name = ‘camille‘;  var age = 20;}Func.prototype.getAge = function(){  console.log(this.age);}var func1 = new Func();var fObj = Func();//fObj是undefined,Func中的this是window

1、普通函数
对于Func而言,它本身是一个普通的函数,执行的时候会形成私有的作用域,然后进行形参赋值、预解析、代码执行、执行完成后内存销毁;
2、类
它有自己的实例,func1就是Func作为类而产生的一个实例,也有一个叫做prototype的属性是自己的原型,它的实例都可以指向自己的原型;
3、普通对象
Func和var obj = {}中的obj一样,就是一个普通的对象(所有的函数都是Function的实例),它作为对象可以有一些自己的私有属性,也可以通过__proto__找到Function.prototype。

函数的角色