随笔分类 - js
摘要:requestAnimationFrame的用法与settimeout很相似,只是不需要设置时间间隔而已。requestAnimationFrame使用一个回调函数作为参数,这个回调函数会在浏览器重绘之前调用。它返回一个整数,表示定时器的编号,这个值可以传递给cancelAnimationFrame
阅读全文
摘要:背景/需求: 项目中,需要判断用户角色,展示/隐藏不同字段 方案/做法: 方案1、后端直接处理; 方案2、前端用Node做中间层; 这里我们采用方案2。 步骤: 1、采用koa框架,并监听端口号 const koa = require("koa");const app = new koa();con
阅读全文
摘要:js下载网络文件到本地不建议使用a标签打开网页,不同浏览器会不兼容。下面介绍一个可以根据url下载文件到本地,并且自动生成随机名称的方法~随机生成名称可以在统一页面多次导出文件且不会提示“文件已存”的情况,不需要的同学可以根据注释修改// 文件下载,url为文件地址,可以为本地地址也可以为网络地址f
阅读全文
摘要:1. 实现一个call函数 // 思路:将要改变this指向的方法挂到目标this上执行并返回 Function.prototype.mycall = function (context) { if (typeof this !== 'function') { throw new TypeError
阅读全文
摘要:// 发布订阅Pub/Sub class EventBus { constructor() { // 1.处理事件对应的处理函数 this.sub = {} } $on(event,fn) { if(!this.sub[event]) { this.sub[event] = [] } this.su
阅读全文
摘要:一、语法 Object.keys(obj) 参数:要返回其枚举自身属性的对象 返回值:一个表示给定对象的所有可枚举属性的["name", "age", "address","getName"] 三、处理数组,返回索引值数组 let arr = [1,2,3,4,5,6] Object.keys(ar
阅读全文
摘要:函数防抖和节流 函数防抖和函数节流:优化高频率执行js代码的一种手段,js中的一些事件如浏览器的resize、scroll,鼠标的mousemove、mouseover,input输入框的keypress等事件在触发时,会不断地调用绑定在事件上的回调函数,极大地浪费资源,降低前端性能。为了优化体验,
阅读全文
摘要:我们工作中免不了运用promise用来解决异步回调问题。平时用的很多库或者插件都运用了promise 例如axios、fetch等等。但是你知道promise是咋写出来的呢? 别怕~这里有本promisesA+规范,便宜点10元卖给你了。 ERvaA3z.png 1、Promise 的声明 首先呢,
阅读全文