摘要:
无限滚动 某种业务场景,需要下拉展示大量的列表数据,例如10万条。假设一条数据就是一个dom, 如果使用普通的下拉加载,就会在一个页面上生成10个dom。这样会导致页面性能急剧下降。对用户体验极其不优好。针对天量数据的下拉列表,是否有更好的方案来解决呢,接下来就分析下如何通过虚拟列表来实现。 虚拟列 阅读全文
摘要:
flex 布局,我相信大家都非常熟悉, 但是要说到 flex:1 表达的含义,我相信很多同学说不出来。 很多同学入门flex 的时候,应该都是看了 阮一峰的flex 科普文章 阮一峰对 flex 科普文章 想要梳理清晰flex:1的含义,我们先学习下flex 这个css属性表达了哪些含义 flex属 阅读全文
摘要:
一直对flex布局的flex-basic理解不够透测,今天准备通过实际的例子,加深对这个属性的理解 flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。详细定义可以查看flex 阅读全文
摘要:
防抖 防抖, 仅仅从字面去理解,就是防止抖动,关键点是等待,等待300ms,如果没有新的action,就执行。 这里举一个更形象的例子,也是使用此场景最多的例子。 有一个搜索输入框,为了提升用户体验,希望在用户输入后可以立即展现搜索结果,而不是每次输入完后还要点击搜索按钮。最基本的实现方式应该很容易 阅读全文
摘要:
一: 模拟new的实现 我们首先看一下new的使用 function aninmal (name, actions) { this.name = name this.actions = actions this.sayName = function () { console.log('myname 阅读全文
摘要:
Array 原型上有很多数组的方法。例如 map, every, some,filter,forEach等,今天我们就使用高阶函数来mock以上的功能。 以上方法怎么使用,就不再举例说明了,大家应该都用的滚瓜烂熟了。常用的使用模式都是这样的。 [1,2,3,4,5].forEach((item, i 阅读全文
摘要:
前言 vant是vue开发者常用的ui组件库,按需引入vue项目的方法,参考官网的操作即可,但是如果使用ts来编写项目,按需引入方式就大大的不同了,我们分别看下2中方式按需接入vant的区别: vue + js 我们需要借助babel 插件按需引入组件, 在.babelrc 或 babel.conf 阅读全文
摘要:
异步操作 首先解释一下异步和同步的区别,后面需要会用到。 同步的形式阻塞 Node.js 事件循环和进一步的 JavaScript 执行,直到操作是完成的。而异步不会阻塞node.js事件循环和主进程的javascript的执行。 读操作 node读取文件的方式分为同步和异步 读写文件之前,一定要先 阅读全文
摘要:
每次看到移位运算符的时候,脑子都会懵一会儿。原因还是没有什么理解位移运算。今天好好学习梳理下相关的知识点。 1: << 运算符-左移运算符 “<<”运算符执行左移位运算。在移位运算过程中,符号位始终保持不变。如果右侧空出位置,则自动填充为 0;超出 32 位的值,则自动丢弃。 console.log 阅读全文
摘要:
我们都知道,没有promise的时代,异步的实现是通过回调来实现的。造成的结果就是回调地狱,书写代码的形式就是一层嵌套一层,看起来非常不直观。 后来ES5出来了promise的解决方案,书写代码以链式的方式来调用。我们看2个简单的例子。 let promise = readFile('example 阅读全文