美文网首页
模拟实现js中new的作用

模拟实现js中new的作用

作者: TerdShow | 来源:发表于2019-08-06 14:42 被阅读0次
function create() {
  let obj = new Object(); // 1.创建一个空对象
  let Constructor = [].shift.call(arguments); 
  obj.__proto__ = Constructor.prototype; // 2.将空对象的原型对象指向构造函数的原型
  let result = Constructor.apply(obj, arguments); // 3.将构造函数的this指向该对象,执行构造函数,给对象添加属性和方法
  return typeof result === 'object' ? result : obj; // 4.返回这个对象
}

function Man(name,age){
  this.name = name;
  this.age = age;
}

let boy = create(Man, 'john', 18);
console.log(boy);

相关文章

  • 模拟实现js中new的作用

  • 面试官问:能否模拟实现JS的call和apply方法

    之前写过两篇《面试官问:能否模拟实现JS的new操作符》和《面试官问:能否模拟实现JS的bind方法》 其中模拟b...

  • js new的模拟实现

    new new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一 1、用new Object...

  • new的模拟实现

    原文出处 JavaScript深入之new的模拟实现 new 我们在模拟 new 之前,先看看 new 实现了哪些...

  • 实现模拟JS的new功能

    new功能是要生成一个构造函数的实例,所以在实现过程中需要我们手动创建一个空对象,对象的原型继承自构造函数。如果调...

  • JS继承的方法

    继承的作用 继承通常的作用是用过使用继承从而得到代码的复用. js中new的作用 举个例子,var a=new H...

  • 再学JS--new的模拟实现

    什么是new? new运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一 举个例子说明下: 从...

  • 实现js中的new

    观察 观察new的结果,rec1是一个对象,对象被赋予了构造函数的属性,并根据传参赋予属性相应的值。并且rec1的...

  • 模拟实现new

    mdn关于new运算符的介绍: new 运算符创建一个自定义对象或具有构造函数的内置对象的实例。 是不是看着有点懵...

  • 面试 | 你需要知道的 JS 继承和模拟实现 new

    大家好,我是林一一,今天这篇文章是关于 JS 中的继承和模拟实现 new 的,我尽量将文章讲的通俗易懂,我们开始...

网友评论

      本文标题:模拟实现js中new的作用

      本文链接:https://www.haomeiwen.com/subject/ayoidctx.html