摘要:
刚刚在一个群里看到有人问 Function.prototype.call.apply(fun, args) 如何理解,觉得挺有意思的。刚开始被惯性思维干扰了,一直都是 call 和 apply 分开用呀!!! 如果理解 [].slice.apply(fun, args) 的话,也就能理解 Funct 阅读全文
摘要:
Promise正如它的中文意思“承诺”一样,保存着未来会发生事件(一般为异步操作)。Promise避免了“回调地狱”,写法更加接近同步操作。说到同步,我更加喜欢async、await,它们书写更贴近同步操作。 图片加载往往是异步的,如果有操作需要等到所有的图片加载完之后再执行,这时候就需要不断的监听 阅读全文
摘要:
在前一篇博客中随机生成迷宫,现在就以随机生成的迷宫为地图,开始寻找路径。 迷宫寻路也可以使用DFS,BFS,但常见的是A*算法,它是启发式搜索算法的一种,效率相比前两者也更高。接下来以A*算法为例,迷宫是一个连通图,因此可以寻找到地图上可通行的任意两点间的路径。 A*算法 A*算法的目的是求出最低通 阅读全文
摘要:
先上图。 效果 代码 随机生成迷宫要求任意两点都能够找到相同的路径,也就是说,迷宫是一个连通图。随机生成迷宫可以使用普里姆算法、广度优先算法、深度优先算法等实现。这里将使用普里姆算法通过生成最小数的方法,实现迷宫图。 初始迷宫 迷宫有路和墙,白色表示路,黑色表示墙。每一个格子代表一个顶点,这里一共有 阅读全文
摘要:
这个动画在很早之前就见过,当时就没迷住了。最近在学canavs动画,动手实现了一下。代码在这里。展示效果在这里。 这属于粒子系统的一种,粒子系统就是需要管理一堆粒子嘛,动画实现的关键在于,遍历这些粒子,并更新它们的位置。 粒子 每个粒子都需要包含自己的横纵坐标想x、y,半径r,各分量上的加速度ax、 阅读全文
摘要:
BrowserSync “Browsersync能让浏览器实时、快速响应您的文件更改(html、js、css、sass、less等)并自动刷新页面。更重要的是 Browsersync可以同时在PC、平板、手机等设备下进项调试。您可以想象一下:“假设您的桌子上有pc、ipad、iphone、andro 阅读全文
摘要:
当需要判断参数是否为空时,总希望 js 能够提供原生的判断方法,可惜并没有,只能自己封装了。 isPrototypeOf() 方法用于测试一个对象是否存在于另一个对象的原型链上。即判断 Object 是否存在于 obj 的原型链上。需要注意的是,js 中一切皆是对象,也就是说,Object 也存在于 阅读全文
摘要:
分布式版本控制系统 Git 是分布式版本控制系统。集中式版本控制系统需要一台“中央服务器”作为版本库,对版本进行控制。二分布式版本控制系统则不需要“中央服务器”,每台电脑上都是一个完整的版本仓库,各自工作,对版本进行管理,互不干扰,对于本地仓库的所有操作都不需要联网进行。至于人多协作,电脑之间可以互 阅读全文
摘要:
基于 vuejs 2.x 可自定义主题的日期组件 阅读全文
摘要:
HTTP 报文是 HTTP 应用程序之间传递的格式化数据块,分为请求报文和响应报文两类,两者的基本结构相同。 HTTP 报文由起始行、首部、主体(可选)三个部分组成。其中,起始行和首部均以一个行终止序列(即空行,可写作CRLF,包括一个回车符、一个换行符)作为结束符。主体是可选的数据块,可以包含文本 阅读全文