码迷,mamicode.com
首页 > Web开发 > 详细

JS函数创建的具体过程

时间:2015-09-12 14:50:13      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

JS函数创建的过程:

1、新建Object对象F,类型设置为Function

2、设置F.__proto__ = Function.prototype

3、设置F.constructor = Function

4、新建Object对象temp(也就是后来的F.prototype),使temp.constuctor=F,完成函数创建

我只说了表象,复杂的内部实现,等以后再深究了。。。。

 

代码表示如下(借用大神代码):

F = new Object();  //F.cons

F.[[Class]] = "Function";  //类型为Function

F.[[Prototype]] = Function.prototype;  //F.__proto__ === Function.prototype

F.[[Call]] = internalCall;

F.[[Construct]] = internalConstructor;

F.[[Scope]] = currentContext.ScopeChain.concat();

F.length = FormalParameterNum;

temp = new Object();  //构造F.prototype

temp.constructor = F; // F.prototype.constructor === F

F.prototype = temp;   //将新建的temp对象赋值给F.prototype

return F;

 

JS函数创建的具体过程

标签:

原文地址:http://www.cnblogs.com/yangzhinian/p/4785307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!