setTimeout延时0毫秒的作用

相信这样的代码我们都是遇到过的, 但是思考为什么这么用而不用其他的办法的人估计就很少了,今天遇到,在此记录。 先解释下 JavaScript 单线程模型 原文由此进入 首先我们来看浏览器下的 JavaScript: 浏览器的内核是多线程的,它们在内核制控下相互配合以保持同步,一个浏览器至少实现三个常驻线程:JavaScript 引擎线程,GUI 渲染线程,浏览器事件触发线程。 JavaScript 引擎是基于事件驱动单线程执行的,JS…

高性能JavaScript实践总结

本总结是对《高性能 JavaScript》这本书的总结也是记录笔记,加深我对 JavaScript 的认识及实践技巧。 一、脚本的加载和执行 一般来说,JavaScript 代码的执行会阻塞浏览器进行的其他程序,比如用户界面绘制。每次遇到后,,页面都必须停下来等待代码下载并执行,然后再继续解析和渲染页面。在这期间,页面渲染和用户交互是完全被阻塞的,例如页面出现长时间的白屏。解决方案如下: 将放在之前,确保脚被执行前页面已完成渲染。 标签越少越好,可以考虑用 gulp 任务合并。因为 HTTP…

imgLazyloadJS

我这是用的是这个插件jquery.lazyload.js,关于介绍也很多了,我这里就只见上干货,就说怎么用开始,不过还是先介绍下他是干什么的,怎么干的。 1. 做什么的 图片延迟加载,等滚到图片的位置时才加载,后面的图片先不加载,故能避免卡顿,需要加载图片的时候,图片进行下载,等加载完毕后才出现,消除出现半幅图的情况(改善用户体验) 2. 怎么干的 data-original:这个是真正要交加载的图片; src:这个是占位图片,默认是 grey.gif,高度只有 1px…