参与过面试的小伙伴都应该知道,调用new方法具体做了什么以及手动实现一个new方法是一个高频面试题,接下来我们就手动实现一个简单的new方法。
1、创建一个新对象
2、将构造函数中的this指向新对象
3、执行构造函数
4、返回新对象
// 构造函数
function Construct(name,age) {
this.name = name
this.age = age
}
// 实现方法
function myNew(Fn,...rest){
let newObj = {}
newObj.__proto__ = Fn.prototype
Fn.apply(newObj,rest)
return newObj
}
const obj = new Construct('jack',21)
const newObj = myNew(Construct,'jack',21)
console.log(obj)
console.log(newObj)
结果:
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务