随笔分类 - javasrcipt
万丈高楼平地起,基础不可忽略
摘要:创建bin目录 bat编写 1.下载项目依赖包 @echo off echo. echo [信息] 安装Web工程,生成node_modules文件。 echo. %~d0 cd %~dp0 cd .. npm install --registry=https://registry.npm.taob
阅读全文
摘要:vue+echarts 实现echarts动效 1.定义 定时器 工具类 loopShowTooltip export function loopShowTooltip(myChart, option, num, time) { var defaultData = { // 设置默认值 time:
阅读全文
摘要:项目背景: vue 1.创建 backtop.vue 的回到顶部逻辑的组件 <template> <transition name="back-up-fade"> <div class="back-top" :style="{ bottom: bottom + 'px', right: right
阅读全文
摘要:ucharts的地址 https://www.ucharts.cn/v2/#/ 业务场景 用户数量柱状图统计,Y轴不能出现小数的刻度, 需要修改引入的组件文件 uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js 第1955行 向上取整 v
阅读全文
摘要:并发限制的异步调度器 实现的场景是:多文件上传 按照一定量的文件数上传,列如 2个,每次都是两个同时上传在其中一个完成才能接着后续的上传,正在上传的文件保持在一定的数量,防止数量一次性过大 * 这个调度器需要个调用限制长度 max字段 * 异步执行中的收集器 working 数组 * 待处理的异步收
阅读全文
摘要:uniapp官网 https://uniapp.dcloud.net.cn/api/ 自动适配问题 rem适配 为什么选择rem a) 机型太多,不同的机型屏幕大小不一样 b) 需求:一套设计稿的内容在不同的机型上呈现的效果一致,根据屏幕大小不同的变化,页面中的内容也相应变化 原生代码实现 func
阅读全文
摘要:项目背景:vue3 众所周知在重构的vue3后,vue2的bus总线通信就随之无法使用。 bus总线有点像 Vuex 或者 Pinia ,可以使用发布订阅模式来简单实现下。 不是很了解的同学可以 ♥ 观察者模式浅尝♥ ♥ 发布订阅模式浅尝♥ 原理分析: 参照发布订阅模式 需要一个list来存放相应的
阅读全文
摘要:选择排序 算法思想:从所有记录中选出最小的一个数据元素与第一个位置的记录交换; 然后在剩下的记录当中再找最小的与第二个位置的记录交换,循环到只剩下最后一个数据元素为止。 上代码 let arrTemps = [3, 2, 11, 9, 2, 15, 19, 19, 16, 1, 8] functio
阅读全文
摘要:常用的排序算法有 冒泡排序 快速排序 选择排序 插入排序 归并排序 冒泡排序 实现思想:判断两个相邻元素,大于或者小于则交换位置;每次对比冒泡结束,会定位一个数的位置,后面每次需要对比的次数越少,直至结束 es6有api--sort实现了冒泡排序,使用的时候注意要传入函数进去没有的话就是每个位置的数
阅读全文
摘要:event Loop 简介 Event Loop即事件循环,也就是我们经常使用异步的原理。 是指浏览器或Node的一种解决javaScript单线程运行时阻塞的一种解决方案机制。 众所周知我们JavaScript的执行是单线程的,代码是从上往下依次执行的,只有当上一个任务完成之后才会继续完成下一个任
阅读全文
摘要:发布订阅模式和观察者模式的不同在于,增加了第三方即事件中心;目标对象状态的改变并直接通知观察者,而是通过第三方的事件中心来派发通知。 按照上一篇的观察者可以看着出来,当发布一个主题发布一个消息时,所有的观察者都能接收到,但现实的业务中 会存在按照一定的条件进行消息的推送,并不是所有的观察者都需要;
阅读全文
摘要:观察者模式是什么 观察者模式(Observer),定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。 也可以叫发布-订阅模式(Publish/Subscribe)但是注意不尽然,这两个还是有一定区别的 两者最大的区别在于发布定于模式,多了个调度中心
阅读全文
摘要:原始数据 const defaultselectList = [ { attibutedid: '10001', attibuteSelected: ['大陆版', '港版'] }, { attibutedid: '10002', attibuteSelected: ['红', '白'] }, {
阅读全文
摘要:节流 将多次执行变为最后一次执行,节流是将多次执行变为每隔一段时间执行 理解:不管time内触发多少次,只会每间隔time时间才会触发一. 主要作用是也是减少触发 生效的次数;一般情况下用户会重复点击按钮,所以会造成重复发送请求问题,一定量造成卡顿延迟问题,这个时候便可以采用节流 直接上代码开整 相
阅读全文
摘要:防抖与节流 对大部分程序员来说 对这个已经很熟悉了,因为在我们代码中时常会用到。每次的复习熟系都会有不同的收获 防抖 定义:n 秒后在执行该事件,若在 n 秒内被重复触发,则重新计时 n秒后执行该事件 应用场景:对一些触发比较频繁的事件进行进行处理,防止页面的卡顿 window 的 resize、s
阅读全文
摘要:vue报错 TypeError: Cannot read properties of undefined (reading 'ob') 检查组件发现 data () { }, 是data没有return,即使没有使用的变量也需要rerurn {} 解决: data () { return { } }
阅读全文
摘要:项目背景:vue2.6 +elementUI 代码的写法是这样的 发现第一次会触发 computed ,之后就失效了!!进行排查是发现 当utils里面相应的值发生改变 computed 并不会刷新,我们在页面上也能拿到 utils; 首先明确 utils 这个是什么, 引用的工具类 这个有没有进行
阅读全文
摘要:Provide / Inject 也是解决vue组件间传值的一种方案,适合于父子/祖孙 组件之间的传值,也是封装通用组件的一种组合式api Provide/inject 可以理解成依赖注入 一般出现都是成对出现的 Provide 在父组件注入相应的 属性 注意 你的provide的数据改变,inje
阅读全文
摘要:1. ie浏览器的不能使用remove()方法去删除。 1.因为ie浏览器没有remove()方法,可以使用 removeChild()方法去删除; 注意removeChild()的使用者是当前节点上一级,比如像删除节点node,使用的方法是:node.parentNode.removeChild(
阅读全文
摘要:vue3相较与vue2 在写法上有较大的出入,刚开始使用是会有诸多不适, setup函数是组合API的核心入口函数 1.setup函数注意点 export default { setup() { } } setup函数的执行时机是在beforeCreate和created之间 由于setup执行时机
阅读全文