近期一直在玩的游戏是汉诺塔,我倒是觉得这个游戏挺解乏的,但是我女票子却不喜欢,我让她玩 5 层,她讨价还价成 4 层,我再坚持一次,她就说不玩了不玩了,那就陪她玩 4 层咯。下面,我们来看看 js 制作的简单动画展示,这个游戏应该怎么玩。
Continue reading “汉诺塔游戏”wp super cache 预缓存功能怎么使用
wp super cache 是 WordPress 的一个缓存插件,实现页面静态化,加速网站访问。
其提供一个 preload 的功能,会一次性把整个站点的文章都缓存下来,非常实用,但是这个功能,我尝试了好久都没有使用成功,我相信很多人会遇到我这个问题,遂撰文以记之。
Continue reading “wp super cache 预缓存功能怎么使用”如何编写一个 webpack plugin
本篇文章源自我自己的一个需求:我想看看 webpack 是如何组织 js 代码模块化的。打开编译后的文件有很多注释,不方便查看,我想去掉这些这些注释,那应该怎么做呢?学习写个插件用正则替换这些注释代码。
插件的设计机制一般都是在程序运行的各个阶段提供不同的 hook,传入数据、修改数据,以期得到一个满意的结果,webpack 也不例外。那针对这种场景,应该使用说明钩子函数呢?
Continue reading “如何编写一个 webpack plugin”动态规划(Dynamic programming)— JavaScript 描述
《数据结构与算法 JavaScript 描述》这本书错误好多,为什么译者不把这些错误纠正呢?
在工作中,我们都用过递归,用俗话说就是函数自己调用自己;而动态规划一般被认为是和递归相反的一种解决问题的思路:递归是从解决一个大问题开始,通过逐步解决一些小问题,来使最终的问题得到解决;动态规划的思路则恰恰相反。
Continue reading “动态规划(Dynamic programming)— JavaScript 描述”工作中的一个问题之二
有一个二维数组如下:
let arr = [["a0", "a1"], ["a1", "a2"], ["a3"]];
我们看到 a1
这个元素在数组的第 0 项和第 1 项都存在了,我们需要将其合并成一项:
// 需要转化成 [["a0", "a1", "a2"], ["a3"]]
同理,针对一个任意项的二维数组,只要其中某单个元素重复了,就应该合并进同一个数组里,减少这个二维数组的个数。那么怎么实现这个呢?
Continue reading “工作中的一个问题之二”工作中的一个小问题
有一个字符串: a[0:3]bb[-1:9]c[-1:-9]d
,0 对应 a0bb-1c-1d
,1 对应 a0bb-1c-2d
,2 对应 a0bb-1c-3d
,以此类推,那么当 100 应该对应哪个字符串?怎么实现这个转化?
需要注意 2 个地方,一个是 [-10:3]
可以递增,也可以是递减 [3:-10]
;另一个是这种模式可以无限叠加。
五一自驾游计划
今年的五一假期有 5 天,再请上几天假,就有一个更长的假期。准备自驾去云南昆明。
预计假期时间
04 月 30 日,再加上 05 月 01 日至 05 月 06 日。一共 7 天时间,只是预计,可能有变。
Continue reading “五一自驾游计划”三月份的工作紧张
2020-03-31
应该正确使用 label 标签了,虽然我以前用了很长时间理解它。
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label
2020-03-30
学习英语是理解编程的第一步,generator 有发电机的意思,而 yield 有产生的意思,两者结合可以源源不断产生电源,很符合生成器函数的特性。 而利用 generator 处理异步也可以这样写:
标题:generator 和异步回调
内容来自曾小乱的blog:https://zengxiaoluan.com/generator-and-asynchronous-callbacks/#2020-03-30%E6%9B%B4%E6%96%B0
Continue reading “三月份的工作紧张”partial application
这个概念好像不太好翻译,有人直译为偏应用,对不懂这个概念的人有点一头雾水,不知所云,我来简单理解一下。另外已经有工程师把这个特性提交到了 tc39,说不定不久我们就能在新版谷歌浏览器使用了。
我们有一个求和函数如下:
function foo(a, b, c) { return a + b + c }
当我调用的时候,有个参数我突然不知道传什么,暂时想不传,并用 undefined
来替代。我们当然不能这么写:
foo(undefined,1,2)
Continue reading “partial application” generator 和异步回调
在我们日常的前端开发中,异步回调是不可避免的操作,会严重影响我们的编程体验和代码的维护性、阅读性,而 promise 和 generator 可以在一定程度上解决这个问题。它们没有那么神奇,只是代码上的一些小花招,现在我们具体来看看 generator 是如何解决异步回调的问题。
Continue reading “generator 和异步回调”