前端知识积累 手写new 文章目录 前端知识积累前言手写new 前言 手写new function mynew(Func, ...args) { // 1.创建一个新的对象 const obj = {} // 2.新对象原型指向构造函数的原型对象 obj.__proto__ = Func.prototype // 3.将构造函数的this指向新的实例对象 let result = Func.apply(obj, args) // 4.根据返回值判断,如果是原始类型则忽略,如果是对象则正常实现。 return result instanceof Object ? result : obj }