题解 | #实现new操作符#

实现new操作符

http://www.nowcoder.com/practice/71c2aff7cb6641099aa17d56157a91b9

如何实现new的功能,知识点复习:

  1. new的工作原理:返回构造函数的对象。如果构造函数的返回值为对象,则new出来的结果就是该返回值;如果是其它返回值(包括没有返回值,实质上是undefined),new出来的对象是构造函数里的this;
  2. 步骤:(1):创建一个空对象,并将该对象和构造函数之间绑定一条原型链,实例.proto = 构造函数.prototype;(2)拿到输入参数arguments,并通过es6新增的功能[...arguments].shift拿到第一个输入参数,即为构造函数;(3)改变构造函数中this的指向:Fn.apply(obj, arguments);
全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务