当前位置: 首页 > 后端技术 > Node.js

五行代码实现JavaScript

时间:2023-04-03 11:24:05 Node.js

JSElevation中的new关键字要创建一个新的Person实例,您必须使用new运算符。这样调用构造函数实际上会经历以下四个步骤:(1)创建一个新对象;(2)将构造函数的作用域赋值给新对象(所以this指向新对象);(3))执行构造函数中的代码(给这个新对象添加属性);(4)返回新对象。看完这个原理,我想试着把实现过程写下来,虽然不够严谨。至少体现了核心思想。模拟实现://先写一个构造函数Person(name){this.name=name}//myNew方法实现函数myNew(fn){letobj=Object.create(fn.prototype)//创建一个对象,And将构造函数的原型对象赋值给新创建的对象,即生成的实例与构造函数的原型对象相关联letres=fn.apply(obj,Array.prototype.slice.call(arguments,1))//执行函数(为对象分配属性)returnobj//返回对象}console.log(p1instanceofPerson)//trueconsole.log(myNew(Person,'Tom'))//Person{"name":“汤姆”}