new 原理

作者: 古月丶 | 来源:发表于2019-07-10 14:58 被阅读0次

new 原理大致分为一下四个步骤:

  1. 创建一个对象;(var obj = {})
  2. 将构造函数的this指向该对象;
  3. 执行构造函数的方法,使该对象继承构造函数的方法和属性;
  4. 返回该对象。
function Person(name, age, sex) {
    this.name = name;
    this.age = age;
    this.sex = sex;
}
Person.prototype.eating = function() {
    console.log('I`m eating')
}

var hcx = new Person('Hcx', 18, 'man');

实现一个new

function _new(fn, arg) {
    var obj = {};
    fn.apply(obj, arg);
    obj._proto_ = fn.prototype;
    return obj;
}

相关文章

  • new 原理

    new 原理大致分为一下四个步骤: 创建一个对象;(var obj = {}) 将构造函数的this指向该对象; ...

  • iOS--OC底层原理文章汇总

    OC底层原理01—alloc + init + new原理OC底层原理02—内存对齐OC底层原理03— isa探究...

  • new方法实现原理

    本小节知识: 【掌握】new方法实现原理 1.new方法实现原理 完整的创建一个可用的对象:Person *p=[...

  • new的原理

    创建一个类的实例创建一个空对象obj,把这个空对象的_proto_设置为Person.prototype 初始化实...

  • JavaScript new原理

    首先,来看一段代码 两种实例化对象方式,一个使用了new关键字,一个没有。从图里可以看出 两者最大的区别在于执行时...

  • new实现原理

    假如让你实现一个new的功能,首先我们需要搞清楚:new关键字都做了什么工作? 在浏览器控制台打印一下结果: 从结...

  • Objective-C基础学习之new方法实现原理

    1.new方法实现原理 完整的创建一个可用的对象:Person *p=[Person new]; new方法的内部...

  • 12. new

    new问题一:new 的原理是什么?通过 new 的方式创建对象和通过字面量创建有什么区别? 在调用new的过程中...

  • 运放怎么增加多个面2022-03-13

    在原理图库 点击添加新库 在新建的原理图纸上 右键 Tool--- new part 会出现一个双运放 继续New...

  • new和Object.create()

    Object.create() new 推荐阅读 new的原理 你不知道的javascript之Object.cr...

网友评论

    本文标题:new 原理

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