实现符合A+规范的Promise promisePromise 对象用于处理异步操作,它表示一个尚未完成且预计在未来完成的异步操作。 特性 解决回调地狱,使用统一的 API 接口处理异步任务 链式调用 返回值穿透(onFulfilled 不是 function 时,上一步的执行结果 value 将继续向后传递) 错误冒泡( 回调地狱 function f1(){ //f2的执行需要等待f1的结果 2022-02-24 #javascript #es6
手写系列 事件中心 EventCenterclass EventCenter { constructor() { this.events = new Map(); } register(event, isOnce, fn, ...args1) { const curEvent = this.events.has(event) ? this.events. 2022-03-16 #面试 #javascript
字符串算法题 操作字符串 charAt() 返回索引位置字符 charCodeAt()返回索引位置字符 UTF16 代码 concat() 拼接 indexOf(), lastIndexOf() 返回索引 includes() 返回 Boolean match() 匹配正则 replace() 替换 split() 分割字符串 slice() 截取返回新字符串,以索引 2022-02-24 #面试 #javascript #算法
堆及相关算法 二叉堆 堆就是完全二叉树 完全二叉树:除了深度最深的一层外所有层节点数都满员 深度:从根节点到该节点经历的节点个数 每一个节点都比左右子节点大–>最大堆,最大值在根节点 每一个节点都比左右子节点小–>最小堆,最小值在根节点 完全二叉树可以使用数组来存储 建立堆 将节点与父节点比较 //小顶堆 function buildHeap(items,heapSize){ 2022-02-24 #javascript #算法
topK问题 最大/小的 K 个数,第 K 个最大/最小值 局部冒泡!!输出结果无序 function bubbleSort(arr, k) { for (let i = 0; i < k; i++) { // 冒泡执行k次 for (let j = arr.length - 1; j > i; j--) { if (arr[j] < 2022-02-24 #面试 #javascript #算法
vue@3学习 VUE3带来的好东西Proxy APIvue2.X存在的缺陷 无法检测对象中 property 的添加或移除; 通过下标操作数组不会触发响应 ,vm.items[indexOfItem] = newValue能做到但性能考虑放弃; 修改数组的长度时不会触发响应式,vm.items.length = newLength; vue2时代的解决方法// Object新增元素 Vue.set(object 2022-02-24 #javascript #vue
typescript 语言类型类型安全 强类型 (不允许隐式类型转换) 弱类型 (允许隐式转换) 类型检查 静态类型语言 (变量类型书写时就确定且不能修改) 动态类型语言 (变量类型运行时才能确定,且可以修改) javascript 弱类型 动态类型 脚本语言,无需编译 Flowjavascript类型检查器 JUMP TO:Flow …略过 Typescript javasc 2022-03-30 #javascript #typescript
axios和fetch axios 基于XHR的Promise封装 优点 PromiseAPI 客户端防止CSRF 提供并发请求的接口 从node创建http请求 拦截器 取消请求abort 拦截器 添加拦截器 axios.interceptors.request.use( (config) => { <!-- 加入参数 --> config.params =  2022-02-24 #面试 #javascript
Css In Js Css In Js 优点 css有自己的作用域 让组件更具可移植性,开箱即用 让样式具有动态功能(参数) 一个地方修改标签类型和标签参数 相比style能写更多(伪类,级联) 缺点 复杂度⬆️ class名混乱不语意Emotion 2022-04-22 #javascript #css #react
算法题 两数之合function twoSum(arr, target) { let res = []; let map = new Map(); // 使用数值->索引建立map // 每次循环计算得出当前差值 // 在map中查找这个差值既能得出索引 for (let i = 0; i < arr.length; i++) { let k = targe 2022-02-24 #面试 #javascript #算法