JS中的new操作符原理解析
Posted zlv2s
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中的new操作符原理解析相关的知识,希望对你有一定的参考价值。
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操作符原理解析的主要内容,如果未能解决你的问题,请参考以下文章