web 动画与动量守恒

在系统不受外力下,物体的质量(m)与它速度(v)的乘积就是动量,用字母 `p` 来表示。

$$ p=m·v $$

动量是矢量,有大小,有方向。

还有一个动能公式:

$$ KE = { {1 \over 2} mv^2 }$$

通过上面两个公式,我们可以推导出两个物体相撞后的速度,以此来实现封闭空间的碰撞动画。

继续阅读“web 动画与动量守恒”

我的 2019

2019 年是真的过的很快,就像短期的一天一样,我可以迅速的回顾整年,记得大部分日子的细节。

四月清明节回家;五月桂林自驾游;六月香港大屿山;七月女票回了一趟家;八月追剧《长安十二时辰》;九月和女票吵架;你看,时间就是那么快,一年才 12 个月,稍微回忆,大半年过去了,直到春节期间的今天我打开博客写总结。

我想时间就是那么快,我都来不及做些什么就到了总结的时候。为了让总结有东西,我不得不提一些细小的事情,否则我可能什么也没干。

继续阅读“我的 2019”

如何自制 json 解析器

这个文章缘起自同事兼朋友的一个技术分享,他介绍了 json 的 parse 和 stringify 的实现等等具体知识,我主要是学习他的代码和编程思路。同时,我也对比了 douglas crockford 的实现,他是 json 格式的发明者和布道者,他的实现代码也非常的酷,非常值得学习。

作为 web 开发者,我们把 json 当成了水和空气,没认认真真的研究她,今天我们就来拨开她的面纱看看她的实现原理吧。

继续阅读“如何自制 json 解析器”

衡山一日一夜游计划

前言

又到一年过年时,这次选择出游衡山,之前去过衡山一次,这次带上家人一起。我做了一个简单的规划,大家帮忙看看有什么问题,帮我改进一下。

2020-01-20(农历 12 月 26)

中餐

我们在山下吃中饭,吃饭地址在丽君饭店,已经加了老板的微信,预定了包厢。

饭店离衡山入口比较近,方便。吃完饭,我们可以直接开始爬山之旅。

丽君饭店的饭菜还是不错的,在美团上的当地排名第一,老板热情,服务周到(此处应该给我一笔广告费)。吃了饭,民宿的老板就开车接我们上山了。

上面是规划,实际情况是这样的
继续阅读“衡山一日一夜游计划”

forin 和 Object.entries 运行效率对比

我们从一个很简单的问题出发,怎么遍历一个 js 对象?第一种使用 forin,但是会遍历到原型链上的属性,这个不是我们想要的。

forin 存在的问题

var s = {a:1}
s.__proto__ = {b:2}
for(var i in s) {console.log(i)}

所以我们要这样判断一下。

var s = {a:1}
s.__proto__ = {b:2}
for(var i in s) { if(s.hasOwnProperty(i)) console.log(i)}
继续阅读“forin 和 Object.entries 运行效率对比”

父子页面的 iframe 如何通信?

写这篇文章的原因是跟同事讨论了这个问题,我们持有不同的看法,他坚持在一个 iframe 里调用另一个 iframe 的方法,也可能触及 dom 操作;我认为简单传数据过去就好,隔离一下运行环境。跨 iframe 执行代码会有一些坑,比如使用 instanceof 操作符的时候,数组不是一个数组的实例,用 Array.isArray 不会有这个问题。

demo

See the Pen frame-out by zeng (@zengxiaoluan) on CodePen.

继续阅读“父子页面的 iframe 如何通信?”

养猫

养猫哲学、橘猫、人猫如何相处

之所以要养猫是家里来了老鼠,那些讨厌的老鼠从南面北面的窗户不时涌入,咬我的网线、大米、苹果、蔬菜,翻我的垃圾桶,在长达两年的斗争中,有多次的凌晨惊醒,打坏了一把伞,坏了无数美梦,向房东抱怨无法解决又不能立马搬家的情况下,一个偶然的想法出现在脑里:不如养一条猫。

说养就养,很快,就从网上免费领养了一只橘猫。前主人给他治猫癣就花了一万多,从她手里接过一件又一件的药品和猫用品,我的心里也终于做好了准备:养猫可不是仅仅多一份开支的问题,更是一份时间和精力,也是肩上的重担。

一只招财进宝喵送给大家
继续阅读“养猫”