js
qq_41471157
这个作者很懒,什么都没留下…
展开
-
手撕promise
Proxyvue3.0应用该特性替代Object.defineproperty解决的痛点:监听不到属性的添加和删除监听数组索引和长度的变更不能支持Map,Set,WeakMap和WeakSetPromise A+规范要求promise状态:Pending,Fulfilled and RejectedPending=>Fulfilled or RejectedFulfilled必须有一个不可改变的值,且不可再转换状态Rejected必须有一个不可改变的原因,且不可再转换状态原创 2020-09-30 21:50:26 · 194 阅读 · 0 评论 -
前端手撕
前端手撕newfunction _new(fn,...args){ const obj = Object.create(fn.prototype); const res = fn.apply(obj,args) return res instanceof Object ? ret: obj;}创建一个空对象修改这个对象的原型指向函数的原型修改this的指向为该新空对象判断构造函数有没有return返回值,有的话直接返回这个返回值,否则返回第一步创建的对象call原创 2020-09-26 23:13:45 · 134 阅读 · 0 评论