ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 模拟 new 操作符 ``` function newOperator(ctor) { // 1.target 指向构造函数 newOperator.target = ctor // 2.Object.create 一个全新对象,对象的 原型链接到 构造函数 ctor 的原型上 var newObj = Object.create(ctor.prototype); // 3.获取传入arguments 的参数 var argsArr = [].slice.call(arguments, 1); // 4.构造函数的 this 指向 newObj,并传入 argsArr ctor.apply(newObj, argsArr); return newObj } ``` ### 模拟 Object.create() ``` var banana = { color: 'yellow' } Object.myCreate = function (obj) { function F() {} F.prototype = obj return new F() } var new_banana = Object.myCreate(banana) console.log(new_banana.color) ```