1.描述一下cookies、sessionStorage、localStorage的区别?css
cookies是定时储存,时间到了就会清除html
Sessionstorage是会话存储,会话关闭就会被清除浏览器
localStorage是离线存储,须要用户手动删除sass
2.如何理解HTML5新标签的浏览器兼容问题?浏览器怎么对HTML5的离线储存资源进行管理和加载的呢?cookie
Html5新标签的部分对浏览器的兼容不是很好,尽可能减小使用,使用的话作相应的兼容处理session
经过document.createElement方法产生的标签,能够利用这一特性让这些浏览器支持HTML5新标签,闭包
在html标签内加入Manifest属性,cache=‘manifest’app
若是已经打开过app,离线储存过,浏览器会对比新的manifest文件和旧的manifest文件;离线状况下直接调用储存的manifest文件less
(经过getItem()、setItem()、调用或者存储)异步
3.AMD\CMD规范区别?
CMD依赖就近而AMD依赖前置
CMD是延迟执行的,而AMD是提早执行的。
AMD 的 API 默认是一个当多个用,CMD 的 API 严格区分
4.简述一下flex、grid布局,他们有什么不一样?
Flex布局是弹性布局模式,弹性布局适配性很好
,是一个一维系统,用来为盒状模型提供最大的灵活性。
Grid布局是网格布局模式,简化了操做
是一个二维系统,能够同时处理行和列,能够经过将css规则用于父元素(网格容器)和该元素的子元素(网格元素)来使用网格布局。
5.JavaScript原型有什么特色?JavaScript如何实现继承?JavaScript继承的几种方式?
特色:原型链实现了继承。
经过子类对父类属性的继承,并对其进行扩展,从通常到特殊化的过程
原型链继承、构造函数继承、组合式继承
6.什么是闭包?为何要用它?
在一个函数内部放入另外一个函数
实现对私有变量的访问、防止全局污染
7.介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不一样的?
Html会将每一个元素渲染成一个盒子,他具备margin、padding、border、content四个属性
低版本的IE盒子模型
IE的content部分把 border 和 padding计算了进去;
8.Webpack热加载模块的实现原理?经常使用的loader和它们的做用?
hot reload 实际上配置的是 live reload,也就是每次修改页面刷新。
所谓的 hot reload(热加载) 就是每次修改某个 js 文件后,页面局部更新
css-loader 处理css中路径引用等问题
style-loader 动态把样式写入css
sass-loader scss编译器
less-loader less编译器
postcss-loader scss再处理
9.异步加载JS的方式有哪些?了解JS执行机制吗?
方案1、$(document).ready()
方案2、