function _new(Fn, ...args) {
// 1、 创建一个空对象
const obj = {};
// 2、执行构造函数并将 this 指向刚刚创建的对象
const result = Fn.call(obj, ...args);
// 3.、修改新对象的原型对象
obj.__proto__ = Fn.prototype;
// 4、返回新对象
return result instanceof Object ? result : obj;
}
new关键字过程分析
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- HTML 学习笔记 May 10,2017 js函数调用过程内存分析、js函数细节、js一维数组细节、二维数组转置...