JS 希尔排序完全理解
摘要:希尔排序的思想直白点来说就是间隔对比,比如说 我有一个数组,长度为9,则第一次分割间隔为长度的1/3 + 1,则第一次对比就是1 比 4,2 比 5, 3 比 6,4 比 7,5 比 8 , 6 比 9,然后再次分割更小的间隔对比,等到间隔为1时,就是两两对比, 代码实现: function she
阅读全文
posted @
2021-04-11 11:50
从前有匹马叫代码
阅读(133)
推荐(0) 编辑
JS插入排序完全理解
摘要:插入排序是JS中的一种常见数组排序算法,记录一下如何理解并实现插入排序的功能; 首先看一下最直观的动态图 图片来源:https://www.javascriptc.com/ 从图像可以很直观的看出,插入排序的原理是遍历数组,然后根据当前项与该项之前的项进行大小比对,在合适的位置插入该元素; 代码实现
阅读全文
posted @
2021-04-04 15:22
从前有匹马叫代码
阅读(263)
推荐(0) 编辑
事件委托
摘要:在 JavaScript 中事件可以被捕获和进行冒泡,捕获和冒泡允许我们实现一种被称为 事件委托 的强大的事件处理模式。 这个想法是,如果我们有许多以类似方式处理的元素,那么就不必为每个元素分配一个处理程序 —— 而是将单个处理程序放在它们的共同祖先上。 假如我们有一个表格,该表格有9999+个单元
阅读全文
posted @
2021-03-20 14:52
从前有匹马叫代码
阅读(59)
推荐(0) 编辑
页面滚动加载技术实现
摘要:场景:图片资源大,而且图片很多的页面(视频网站首页,电商首页...) 解决方案:只加载视口区域的图片,加载过的图片不会重复加载 文件目录结构: demo lazy.html lazy.js load.png 代码如下: <!-- lazy.html--><!DOCTYPE html> <html l
阅读全文
posted @
2021-03-03 15:32
从前有匹马叫代码
阅读(555)
推荐(0) 编辑
ES6中的Set数据结构
摘要:Set是ES6新推出的数据结构,Set结构里面的每个元素都是唯一的; 如何创建一个Set? // Set 构造函数接收一个数组进行初始化;如果什么都不传则创建一个空Set; var set = new Set(["Kuma","Hattori","Yagyu"]); Set的一些常用方法 // se
阅读全文
posted @
2021-02-27 00:11
从前有匹马叫代码
阅读(86)
推荐(0) 编辑
五分钟学会generator函数
摘要:什么是generator函数? 常规函数只会返回一个单一值(或者不返回任何值)。 而 Generator 可以按需一个接一个地返回(“yield”)多个值。它们可与 iterable 完美配合使用,从 而可以轻松地创建数据流。 如何创建一个generator函数,代码如下: function* ge
阅读全文
posted @
2021-02-24 23:09
从前有匹马叫代码
阅读(445)
推荐(0) 编辑
Iterable object of JavaScript
摘要:数组是可迭代的,所以数组可以用于for of,字符串也是可迭代的,所以字符串也可以用作for of,那么,对象呢? 试一试: var somebody = { start:0, end:100 } for (const iterator of somebody) { console.log(iter
阅读全文
posted @
2021-02-21 13:17
从前有匹马叫代码
阅读(130)
推荐(0) 编辑