一些问题
1. setTimeout()与requestAnimationFrame(),当setTimeout()时间设为16.7ms,即适应页面FPS=60。两者的区别
2. DOM的事件模型处理:epoll?, libev/libevent?, event bus。区别
3. Webkit等引擎的线程数:UI线程?JS线程?Render线程
4. http://coolshell.cn/articles/9666.html
页面渲染过程:
(1). html下载
(2). 从html头开始解析,在此过程中不断更新DOM
(3). 遇到script标签,向服务器请求JS文件。
(4) js文件下载完毕后,浏览器使用自己的脚本引擎执行js脚本代码。此时
1. defer: 与页面解析异步,解析后暂不执行直到DOM生成完毕才执行
2. async: 与页面解析异步,解析后立即尝试执行
3. 无:与页面解析同步,直到JS执行完毕,页面才继续向下解析
(5) 遇到 <link> 标签,开始向服务器请求css文件。此时页面继续向下解析
(6). 遇到</html>标签,DOM建立完毕
(7). 使用下载完毕的CSS代码渲染html
(8). 图片等其它资源文件下载并更新页面
5. node与element的区别
6. new的过程 var d = new Dog();
var d = {}; d.__proto__ = Dog.prototype; Dog.call(d); return d;
寻找d的属性时会顺着其__proto__链寻找。
浙公网安备 33010602011771号