关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回

JavaScript中new运算符的实现过程解析

发布时间:2022-09-27 11:08:49

这篇文章主要介绍了JavaScript中new运算符的实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

废话不多说直接进入正题,首先我们需要先知道new运算符到底做了哪些事情,再来模拟它实现这一功能。

1. 建立一个空的Object对象;

2. 把这个空对象用__proto__链接到原型

3. 用apply绑定对象的this指向

4. 返回新的对象

知道了new的具体过程之后,我们就可以来试一下用代码实现这一过程。

// 传参 New(obj, ...args)
function New() {
  let obj = new Object();
  // 提取第一个参数并作为构造函数;
  let construction = [].shift.call(arguments);
  // 新对象的__prop__要链接到原型链
  obj.__proto__ = construction.prototype;
  // 改变this指向
  construction.apply(obj, arguments);
  // 返回新对象
  return obj;
}

另外有需要云服务器可以了解下风纳云fengnayun.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


/template/Home/Dawn/PC/Static

选择风纳云,也许是您成就一番大事业的开端

注册账号