五、运行环境
不懂不合适
我们需要理清语言和环境的关系:
ECMAScript描述了JavaScript语言的语法和基本对象规范
浏览器作为JavaScript的一种运行环境,为它提供了:文档对象模型(DOM),描述处理网页内容的方法和接口、浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口
Node也是JavaScript的一种运行环境,为它提供了操作I/O、网络等API
浏览器API
- 1.浏览器提供的符合W3C标准的DOM操作API、浏览器差异、兼容性
- 2.浏览器提供的浏览器对象模型 (BOM)提供的所有全局API、浏览器差异、兼容性
- 3.大量DOM操作、海量数据的性能优化(合并操作、Diff、requestAnimationFrame等)
- 4.浏览器海量数据存储、操作性能优化
- 5.DOM事件流的具体实现机制、不同浏览器的差异、事件代理
- 6.前端发起网络请求的几种方式及其底层实现、可以手写原生ajax、fetch、可以熟练使用第三方库
- 7.浏览器的同源策略,如何避免同源策略,几种方式的异同点以及如何选型
- 8.浏览器提供的几种存储机制、优缺点、开发中正确的选择
- 9.浏览器跨标签通信
浏览器原理
- 1.各浏览器使用的JavaScript引擎以及它们的异同点、如何在代码中进行区分
- 2.请求数据到请求结束与服务器进行了几次交互
- 3.可详细描述浏览器从输入URL到页面展现的详细过程
- 4.浏览器解析HTML代码的原理,以及构建DOM树的流程
- 5.浏览器如何解析CSS规则,并将其应用到DOM树上
- 6.浏览器如何将解析好的带有样式的DOM树进行绘制
- 7.浏览器的运行机制,如何配置资源异步同步加载
- 8.浏览器回流与重绘的底层原理,引发原因,如何有效避免
- 9.浏览器的垃圾回收机制,如何避免内存泄漏
- 10.浏览器采用的缓存方案,如何选择和控制合适的缓存方案
Node
- 1.理解Node在应用程序中的作用,可以使用Node搭建前端运行环境、使用Node操作文件、操作数据库等等
- 2.掌握一种Node开发框架,如Express,Express和Koa的区别
- 3.熟练使用Node提供的API如Path、Http、Child Process等并理解其实现原理
- 4.Node的底层运行原理、和浏览器的异同
- 5.Node事件驱动、非阻塞机制的实现原理