去抖和节流(debounce & throttle)

关于函数去抖和节流,一言以蔽之,去抖是为了防止短时间内多次触发同一事件,造成意外的结果,比如连续点击抽取特等奖按钮,抽出了多名特等奖;节流是为了防止某事件触发的频率过高,造成性能问题,比如拖动滚动条连续密集触发 scroll 事件,如果回调事件复杂,造成浏览器卡顿。

More

网页性能优化建议

通常,实现网页功能并不难,难在如何用简洁高效的代码实现所需功能,并且有着良好的健壮性、可扩展性、可维护性。从用户角度看,网页打开速度快,各种操作都很流畅,这是很重要的问题(网页性能优化)。

More

JSONP 和图像灯塔

当我们需要和服务器交换数据并更新网页部分内容的时候,我们很容易想到用 ajax。即通过原生的 XMLHttpRequest 对象( IE5 和 IE6 使用 ActiveXObject)发出 HTTP 请求,得到服务器返回的数据后,再进行处理。不过,遗憾的是:受浏览器同源策略的限制,ajax 只能向同源(协议、域名、端口都相同)网址发出 http 请求,跨源请求会被阻止、报错。

More

windows 批处理脚本修改文件

有时候,我们可能需要在一个文件的基础上复制出很多新文件,并针对每个文件做出指定的修改。若不想手工复制一个个文件、逐个打开文件进行修改,可以用批处理脚本进行处理。如果这批文件只生成一次,编辑脚本的时间相对手工一个个编辑文件并没有多大优势,但是如果需要多次生成这批文件,脚本的优势就很明显了。

More

关于 ajax 请求 status 值为 0

一个 ajax 请求,onreadystatechange 事件会触发 5 次,对应 readyState 从 0 到 4 变化。例:值为 4 表示请求已经完成或者传输过程中出现错误。readyState 总共有 5 个状态值,分别为 0 ~ 4,每个值代表了不同的含义:

More