会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Liu Wango
There is no birth of consciousness without pain.
博客园
首页
新随笔
联系
订阅
管理
1
2
3
4
5
下一页
2021年5月19日
深度优先遍历(DFS)和广度优先遍历(BFS)的实现与简单应用
摘要: 实现 DFS(Depth First Search) 深度优先遍历 深度优先遍历是指从某个顶点出发, 首先访问这个顶点, 然后找出刚访问这个节点的第一个未被访问的子节点,然后再以此子节点为顶点, 继续找它的下一个顶点进行访问。重复此步骤,直至所有节点都被访问完为止。 例如有这样一棵节点树: cons
阅读全文
posted @ 2021-05-19 15:18 LiuWango
阅读(710)
评论(0)
推荐(0)
2021年5月8日
将HTML字符串编译为虚拟DOM对象的基础实现
摘要: 本文所有代码均保存在HouyunCheng / mini-2vdom 虚拟DOM只是实现MVVM的一种方案,或者说是视图更新的一种策略,是实现最小化更新的diff算法的操作对象。 创建扫描器 所有编译行为的第一步都是遍历整个字符串,于是我们创建Scanner类,专门用于扫描整个字符串。 class
阅读全文
posted @ 2021-05-08 12:04 LiuWango
阅读(1136)
评论(0)
推荐(1)
2021年4月30日
前端数据渲染及mustache模板引擎的简单实现
摘要: 早期数据渲染的几种方式 在模板引擎没有诞生之前,为了用JS把数据渲染到页面上,诞生了一系列数据渲染的方式。 最最基础的,莫过于直接使用DOM接口创建所有节点。 <div id="root"></div> <script> var root = document.getElementById('roo
阅读全文
posted @ 2021-04-30 21:54 LiuWango
阅读(824)
评论(0)
推荐(0)
2021年4月7日
防抖和节流
摘要: 防抖(debounce) 防抖即防止抖动,避免把一次事件误认为多次,应用的场景有: 登录,发短信,抢购按钮避免用户点击过快导致发送多次请求 调整浏览器窗口大小 在线编辑器停止输入后一定时长保存内容 实时输入搜索 ... 防抖的重点在于清零,将之前所有的操作清零,只保留最后一次操作。 function
阅读全文
posted @ 2021-04-07 10:31 LiuWango
阅读(107)
评论(0)
推荐(0)
2021年4月6日
开发中实现图片懒加载
摘要: 图片懒加载,即在图片出现在视口内或即将出现在视口内时再加载图片。图片懒加载可以分解为两个问题: 如何判断图片在视口内 如何控制加载图片 计算图片位置 + 滚动事件 + DataSet API 先设置一个临时的data属性的src占位 <img data-src="./images/01.jfif">
阅读全文
posted @ 2021-04-06 12:17 LiuWango
阅读(242)
评论(0)
推荐(1)
2021年3月31日
ES6中数组新增的方法
摘要: 新增的静态方法 数组新增的静态方法有如下: Array.from() 基本使用 Array.from()可以将类数组或者ES6新增的Set和Map转换为数组对象。 const arrLike = { 0: 'a', 1: 'b', 2: 'c', length: 3 } console.log(Ar
阅读全文
posted @ 2021-03-31 14:46 LiuWango
阅读(356)
评论(0)
推荐(0)
2021年3月30日
观察者模式-订阅发布模式
摘要: 观察者模式(Observer Pattern) 观察者模式是一种对象间的一对多依赖关系,当一个对象的状态发生变化时,所有依赖他的对象都将得到通知。通常运用在对象之间的消息通讯中。 // 比如现在有一群学生,可以组成小组,可以寻求帮助 class Students { constructor(name
阅读全文
posted @ 2021-03-30 11:51 LiuWango
阅读(153)
评论(0)
推荐(0)
2021年3月29日
遍历二叉树
摘要: 二叉树的定义 /** * 二叉树 * @param {any} val * @param {BinaryTree} left * @param {BinaryTree} right */ function /*class*/ BinaryTree(val, left, right) { this.v
阅读全文
posted @ 2021-03-29 21:36 LiuWango
阅读(68)
评论(0)
推荐(0)
js代理(Proxy)和反射(Reflect)的应用
摘要: 跟踪属性访问 const user = { name: 'Jack' } const userPorxy = new Proxy(user, { get(target, prop) { console.log(`Getting ${prop}`); return Reflect.get(...arg
阅读全文
posted @ 2021-03-29 09:52 LiuWango
阅读(478)
评论(1)
推荐(0)
js严格模式详解
摘要: 什么是严格模式 严格模式"use strict";是ES5新增的语法,在不支持严格模式的浏览器中,这行代码仅会被识别为一个“字面量表达式语句”,而在支持严格模式的浏览器中,这行代码表示在对应作用域内开启严格模式。 为什么要使用严格模式 启用严格模式后后,JavaScript引擎会对代码进行更加严格的
阅读全文
posted @ 2021-03-29 09:32 LiuWango
阅读(580)
评论(0)
推荐(0)
1
2
3
4
5
下一页
公告