
ES6
凉音、
小笨鸟
展开
-
ES6 Promise 编写一个等待函数
// 等待timeSpan毫秒后执行resolve方法,且不会阻塞js执行线程export async function wait(timeSpan = 600) { return new Promise(resolve => { setTimeout(resolve, timeSpan); })}此方法接收一个等待时长参数(默认600毫秒),返回一个Promise对象,等待时长到期后将执行Promise的resolve方法。此方法是一个很好的执行流程控制工具.原创 2021-01-14 11:39:43 · 1045 阅读 · 1 评论 -
vue项目 require.context的应用
通常,我们在引入并注册组件时,会选择这样做这种做法看似没有问题,组件少的时候其实并不会显得麻烦和累赘,但是当组件不断增多,这种写法就显得有点“傻”。我们可以用require.context解决这个问题require.context(directory, useSubdirectories = true, regExp = /^\.\/.*$/, mode = 'sync');directory: 要查找的文件路径useSubdirectories: 是否查找子目录regE.原创 2020-10-27 09:50:46 · 703 阅读 · 0 评论 -
ES7编写常用的decorator装饰器,如日志,自动发布事件,只读属性等
/** * @description 常用的修饰器 * @author: hruomei * @update * @date: 2020-10-19 10:12:17 */function isDescriptor(desc) { if (!desc || !desc.hasOwnProperty) { return false; } const keys = ['value', 'initializer', 'get', 'set']; .原创 2020-10-26 17:19:33 · 240 阅读 · 0 评论 -
vscode 使用decorator装饰器报错解决方案
搜索:problems.decorations.enabled搜索:javascript.implicitProjectConfig.experimentalDecorators以上,报错就消失了原创 2020-10-19 10:41:04 · 2265 阅读 · 1 评论 -
手写promise,实现一个简易的promise
文案没编辑好,先上代码吧const isFunction = variable => typeof variable === 'function'// 定义Promise的三种常量const PENDING = 'PENDING'const FULFILLED = 'FULFILLED'const REJECTED = 'REJECTED'class MyPromise { constructor(handle) { this._status = PENDING // 当前状原创 2020-08-24 14:42:57 · 354 阅读 · 0 评论 -
浅析javascript代理模式-事件绑定与内存泄漏
代理模式(Entrust):多个对象接收并处理同一请求,他们将请求委托给另一个对象统一处理请求。在开发中我们可以利用委托模式做事件绑定以及防止内存泄露举个栗子,有一个日期列表,当用户点击日期格子的时候将格子的背景色变成灰色首先我们先看下面这一种方式var ul = document.getElementById('container'), li = document.getElementsByName('li'), i = li.length - 1; for(; i >.原创 2020-05-21 21:24:41 · 460 阅读 · 0 评论 -
javascript浅拷贝、深拷贝实现
看这篇文章之前,推荐大家先了解一下ECMAScript数据类型在ECMAScript中,变量可以存在两种类型的值,即基本数据类型和引用数据类型。基本数据类型:名值存储在栈内存中引用数据类型:名存在栈内存中,值存在于堆内存中,但是栈内存会提供一个引用的地址指向堆内存中的值而深拷贝与浅拷贝的概念只存在于引用数据类型ES5中浅拷贝的实现...原创 2020-05-09 18:28:42 · 2064 阅读 · 1 评论