手写实现new
描述
手写一个函数myNew
实现new
操作符。
new干了什么
- 在内存中创建一个新的对象obj
- 将新对象的[[Prototype]]被赋值为构造函数的prototype属性
- 将构造函数中的this指向新对象obj
- 执行构造函数中的代码获取返回值
- 如果构造函数返回非空对象,则返回该对象;否则返回刚创建的新对象
手写
1 |
|
测试例子
1 | function Person(name, age) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 程序员零塔的小破站!
评论