
Vue 中的 diff 算法实现
介绍 React 和 Vue 中虚拟 DOM 替代直接操作 DOM 的原理,详细阐述 diff 算法如何比对新旧虚拟 DOM 实现高效更新
介绍 React 和 Vue 中虚拟 DOM 替代直接操作 DOM 的原理,详细阐述 diff 算法如何比对新旧虚拟 DOM 实现高效更新
实现了一个简易的 Promise 类,并对 Promise.all 和 Promise.race 方法进行了自定义实现
一个简单的基于 Vue 思想实现的 MVVM 数据架构的代码示例,这里我们将实现一个简单的响应式数据绑定功能
环境 macos 10.14 iterm 2 使用 生成密钥 keytool -genkeypair -alias <别名> -keystore <密钥库存储位置和名称> keytool -genkeypair -alias demokey -keystore demo.keystore 内容填写后,生成完毕 生成签名 jarsigner -verbose -keystore <使用密钥库位置> -signedjar <签名后的包保存位置和名字> <要签名的包保存位置和名字> <别名,对应上面的别名> ...
防抖(debounce) 什么是防抖? 一个函数被触发n秒后,才执行此函数 如果n秒内再次触发此函数,那么重新以再次触发的时间开始重新延迟 n 秒后执行此函数 这样的函数 执行行为 叫做函数防抖。 ...
flex 布局概念 flex布局通常被叫做flex box,也叫弹性盒子或容器,是一种一维的布局模型,它能子元素(flex item)之间提供了强大的空间分布和对齐能力。 ...
文章介绍函数柯里化,说明其将多参函数转为单参函数的概念,以 JavaScript 举例阐述原理,讲解参数复用等好处并给出 ajax 请求示例,还提供了完整实现代码及用法
冒泡排序(Bubble sort) 原理和演示: 依次比较数组中相邻的每一对值,如果前面的值 大于 后面的值,则交换他们俩的位置。如果数组中5个数字(length 为 5),由于比较 两个一组 的数字,那么只需要4次(length - 1)比较,就可以实现把数组中最大的一个数放到最后。 function bubbleSort(arr) { for (let i = 0; i < arr.length - 1; i++) { if (arr[i] > arr[i + 1]) { let temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; } console.log(`执行${i + 1}次`); } return arr; } 通过第一步得到最大的一个数放在数组最后。那么剩下的前三个数继续执行第一步,结果找到第二大的数,放在数组倒数第二位,重复此步骤,直到比对完数组中最后一组数。由于第一步骤每次得到一个最大值放最后,j对应的正好是数组最后有多少个最大值,可以免去比较。所以上步骤每次循环可以优化一下每次少算一个最大值,每次循环总数- 1也就是下面例子中的- j。 ...
使用纯 css 实现一个圆环的进度效果,主要使用了background-image渐变属性和动画状态的伪元素遮盖来实现
什么是 swap swap 分区 是 Linux 中特殊的一种存储,他在安装系统时被自动创建。 用于当内存不够时,操作系统会取出内存中不活跃或不常用的一部分放到 swap 分区 中,使内存空闲出一部分空间用于执行其他程序。相当于临时充当一部分内存,当操作系统想要访问 swap 空间上的的数据时,swap 会把数据放回内存中供操作系统使用。 ...