摘要: function downLoad(url){ console.log(url) const oA = document.createElement("a"); oA.download = '';// 设置下载的文件名,默认是'下载' oA.href = url; document.body.app 阅读全文
posted @ 2022-03-14 14:51 瑞瑞大人 阅读(40) 评论(0) 推荐(0) 编辑
摘要: class Scheduler{ //正在执行的顺序 constructor(max){ //当前正在执行的任务个数 this._count = 0; //最大上限数 this._max = max; this._taskQueue = []; } add(promiseCreator){ cons 阅读全文
posted @ 2022-01-17 12:47 瑞瑞大人 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 通过Object.defineProperty实现了对对象属性的监听,但是Object.defineProperty对数组已有元素也是实现监听的,那么为什么vue中没有提供这一功能,使得arr[已有元素下标]=val变成响应式 Object.defineProperty 可以做到对数组的监听,它是支 阅读全文
posted @ 2022-01-10 17:30 瑞瑞大人 阅读(79) 评论(0) 推荐(0) 编辑
摘要: function set(target: Array<any> | Object, key: any, val: any): any { // isUndef 是判断 target 是不是等于 undefined 或者 null 。 //isPrimitive 是判断 target 的数据类型是不是 阅读全文
posted @ 2022-01-10 15:52 瑞瑞大人 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 1.nextTick源码分析 function nextTick (cb, ctx) {var _resolve; callbacks.push(function () { if (cb) { try { cb.call(ctx); } catch (e) { handleError(e, ctx, 阅读全文
posted @ 2022-01-07 14:01 瑞瑞大人 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 第一种使用Event构造函数创建事件: event = new Event(typeArg, eventInit); typeArg:指定事件类型,传递一个字符串。这里的事件类型指的是像点击事件(click)、提交事件(submit)、加载事件(load)等等。 eventInit:可选,传递Eve 阅读全文
posted @ 2021-12-28 15:49 瑞瑞大人 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 进入页面 Vue初始化 执行new Vue()进入到Vue的构造函数 _init()方法 初始化绑定事件和生命周期钩子 调用beforeCreate这个钩子函数 在这个钩子函数中还没有初始化数据,所以在这个钩子函数中一般不进行操作 紧接着通过initState函数调用initProps,initMe 阅读全文
posted @ 2021-12-22 20:06 瑞瑞大人 阅读(56) 评论(0) 推荐(0) 编辑
摘要: Array.prototype.slice.call(arguments) 阅读全文
posted @ 2021-12-17 15:21 瑞瑞大人 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Webpack 通过 Plugin 机制让其更加灵活,以适应各种应用场景。 在 Webpack 运行的生命周期中会广播出许多事件,Plugin 可以监听这些事件,在合适的时机通过 Webpack 提供的 API 改变输出结果。 Plugin示例代码:通过 compiler.plugin(事件名称, 阅读全文
posted @ 2021-12-16 16:53 瑞瑞大人 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 四种方式 1.typeof 对于基本类型,除 null 以外,均可以返回正确的结果。 对于引用类型,除 function 以外,一律返回 object 类型。 对于 null ,返回 object 类型。 对于 function 返回 function 类型。 2.instanceof instan 阅读全文
posted @ 2021-12-16 16:20 瑞瑞大人 阅读(101) 评论(0) 推荐(0) 编辑