- 博客(5)
- 收藏
- 关注
原创 vue数字输入框
// 根据最大位数和小数位数获取最大数字符串 Vue.prototype.getMaxNum = function (max, decimalLength) { let maxNumStr = '' let maxNum = Number(max) let decimalLengthNum = Number(decimalLength) if (maxNum) { for (let i = 0; i < maxNum; i++) { ma
2020-07-21 15:58:51
661
原创 IntersectionObserver + scoll监听解决App端无限滚动加载卡顿卡死问题
滚动加载都会存在一个问题就是当我不停加载,数据量过大时,由于页面内容存在过多,页面卡顿甚至内存溢出卡死解决思路:使用IntersectionObserver监听元素,利用监听回调判断元素进入离开视窗的回调做处理,使用padding代替原先被滚动掉的dom注意的点:每页的数据必须超出视窗高度,避免监听上滚动和下滚动同时触发,会造成页面一直抖动遇到需要做场景还原的情况,例如滚动加载的列表页跳页面看详情再回到当前页需要保留原来的位置的,可以调用getObjectToStorage方法得到滚动加载的基本
2020-07-09 16:25:36
1281
原创 页面大量输入框性能优化
遇到一个性能问题是这样的:我有一个表格,表格里面的每一个格子都可以编辑,开始我没多想直接就撸,反正就是一个输入框。然后我本地开发时问题不大,因为行列都是动态的,本地数据也不多,电脑性能也还行哐哐上线后,客户炸了,怎么我进入这个页面还好好的,点编辑之后要七八秒才反应过来然后表格数据量大概是60多行20多列,也就是当前页面存在1200个输入框左右开始也是一脸懵逼,然后再本地再调试相同数据量的输入框,大概渲染时间也要3-4秒,完犊子原因:不同的dom渲染消耗的内存是不一样的,很明显一个input标签就
2020-07-09 09:48:36
1236
原创 内存(js)
栈和堆内存空间:栈存放原始数据类型,堆存放引用数据类型栈栈是一种数据结构。限定在表尾进行插入和删除操作的线性表在js中,栈存放的数据类型有Boolean, Number, String ,Undefined ,Null,对象变量的指针有一种说法是栈存储的东西是不会变的东西,就像null是一个对象,为什么会被放在栈内存而不是堆内存,因为null是一个不可变的对象特点:后进先出看一下这段代码:var a = 10var b = a编译原理:var a,编译器先判断当前作用域是否存在a变
2020-07-09 09:43:38
274
1
原创 关于前端缓存cookie sessionStorage lacalStorage
cookiecookie的写入:document.cookie="name=jiangmu"document.cookie="class=132"注意一点,这里与一般的赋值不同,每一次的赋值自动去检测等号前面的key是否存在,存在则做修改,不存在则新增一个cookie的键值对//"name=jiangmu;class=132"cookie的修改:document.c...
2019-05-05 22:41:35
323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人