原型和原型链
作用域和闭包
异步
ES6 的新增语法(如模块化、Class、Promise 等)
第二个标准是 W3C 标准 ,除了 JS 和 ES6 基础语法,其他常用的功能都是这个标准制定的,主要的包括:
HTML
CSS
Javascript Web API (例如 DOM 操作、BOM 操作、事件绑定、ajax 等)
HTTP 协议
存储
websocket
JSON 和 XML
2D 3D
标准一方面指导开发人员如何写代码,一方面指导浏览器如何运行代码。即,代码和浏览器之间,就靠这个标准来紧密相连。开发环境
开发环境是比较多变而且复杂的,也是最不好总结的一部分,每个公司或者团队使用的工具和环境可能都不一样。但是根据我们日常开发的基本顺序,可以概括为以下几点:
代码版本管理,如 git
IDE ,如 sublime vscode vim 等
脚手架,如 vue-cli
构建工具,如 webpack
本地服务和 mock ,如 webpack-dev-server
debug ,如用到 chrome 开发者工具、抓包、代理等
部署提测,各个公司都不一样,基本原理都是将代码压缩然后上传到测试机
单元测试
有时需要操作测试机,需要掌握 linux 基础命令
开发环境运行环境
暂时先不考虑 nodejs 的话,前端代码的运行环境主要分为两种。第一种是标准的浏览器环境,即运行在我们常见的浏览器中。此处需要考虑的问题是:
加载和渲染过程,如面试中常被问的“请描述从输入 url 到呈现出页面的整个过程”
性能优化,如何更快的加载,如何更快的解析和渲染
安全问题,常见的有 XSS 和 CSRF
浏览器兼容性
响应式布局
第二种是运行在非标准的浏览器环境,即一个特定 app 的 webview 中。例如页面在微信中展示,或者 hybrid 形式。这种情况除了要考虑上述的几个问题之外,还应该再考虑: