js中的new

2023-5-18 896 5/18

e签宝笔试题,这个还是比较简单的

 

主要是理清new之后发生了什么

首先s内部会先生成一个对象
处理原型(将对象的原型对象绑定到构造函数的protoType上)
处理this
返回对象实例(将构造函数中的this指向该对象)

 

function MyNew(Fun: Function, …args: any[]) {

if(typeof Fun !== 'function') return new Error('Fun is not a function')

const obj: Object = {}

obj.proto = Fun.prototype

let res=Fun.apply(obj,args)

return typeof res === 'object' ? res : obj

}

 

- THE END -
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论