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 -
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:http://www.cx330.cloud/index.php/2023/05/18/js%e4%b8%ad%e7%9a%84new/
共有 0 条评论