![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
qq_41471157
这个作者很懒,什么都没留下…
展开
-
手撕promise
Proxy vue3.0应用该特性替代Object.defineproperty 解决的痛点: 监听不到属性的添加和删除 监听数组索引和长度的变更 不能支持Map,Set,WeakMap和WeakSet Promise A+规范 要求 promise状态:Pending,Fulfilled and Rejected Pending=>Fulfilled or Rejected Fulfilled必须有一个不可改变的值,且不可再转换状态 Rejected必须有一个不可改变的原因,且不可再转换状态原创 2020-09-30 21:50:26 · 215 阅读 · 0 评论 -
前端手撕
前端手撕 new function _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 · 137 阅读 · 0 评论