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

JS中的new操作符原理解析

时间:2019-02-24 22:59:31      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:设置   var   https   ons   new   参数   nbsp   OLE   --   

1 var Person = function(name){
2    this.name  = name;
3 }
4 Person.prototype.sayHello = function() {
5     console.log(‘hello ‘ + this.name);
6 }
7 var p1 = new Person(‘HANMEI‘);
8 p1.sayHello();

1. 创建一个类的实例:创建一个空对象obj,然后把这个空对象的__proto__设置为Person.prototype(即构造函数的prototype);

2. 初始化实例:构造函数Person被传入参数并调用,关键字this被设定指向该实例obj;

3. 返回实例obj。

 

new 实现

1 function New(F){
2     var obj = {‘__proto__‘: F.prototype};  /*第一步*/
3     return function() {
4         F.apply(obj, arguments);           /*第二步*/
5         return obj;                        /*第三步*/
6     }
7 }

 

-------------------------------

原文:https://www.cnblogs.com/lvmylife/p/8184176.html

JS中的new操作符原理解析

标签:设置   var   https   ons   new   参数   nbsp   OLE   --   

原文地址:https://www.cnblogs.com/zlv2snote/p/10428465.html

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