1. 当在浏览器输入一个url的时候,怎么把页面加载出来?(没问到)
- DNS解析域名相对应的IP地址并返回浏览器
- 三次握手
- 发送http请求
- 服务器响应
- 浏览器解析渲染页面
- 四次挥手
2. H5新特性(适当背一些)
- 语义化标签header, section, footer, aside, nav, main, article, figure
- Canvas图形容器
- Video和audio (播放视频和音频)
- 数据存储--
- Localstorage 生命周期是永久,除非主动清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。
- SessionStorage 仅在当前会话下有效,关闭页面或浏览器后被清除。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。
- Web缓存
- 使页面可以离线浏览
- 缓存资源加快了加载速度
- 减轻了服务器压力
- 新的表单控件与属性
- 控件 calendar、date、time、email、url、search
- 属性autocomplete、autofocus、form、list、placeholder
3. 你见过的浏览器内核有哪些?(太难不背,问到放弃)
- IE Trident IE、猎豹安全、360极速浏览器、百度浏览器
- firefox Gecko 可惜这几年已经没落了,打开速度慢、升级频繁、猪一样的队友flash、神一样的对手chrome。
- Safari webkit 从Safari推出之时起,它的渲染引擎就是Webkit,一提到 webkit,首先想到的便是 chrome,可以说,chrome 将 Webkit内核 深入人心,殊不知,Webkit 的鼻祖其实是 Safari。
- chrome Chromium/Blink 在 Chromium 项目中研发 Blink 渲染引擎(即浏览器核心),内置于 Chrome 浏览器之中。Blink 其实是 WebKit 的分支。大部分国产浏览器最新版都采用Blink内核。二次开发
- Opera blink 现在跟随chrome用blink内核。
4. 图片的懒加载(也没问到)
- offsetTop方法,在滚动到可视区时将img切换带有真正url的src的类
- intersectionRatio方法
- getBoundingClientRect方法
5. 数组与伪数组区别(简单,记一下)
伪数组和数组的区别就在于-proto-属性,没有数组的方法
6. 深拷贝和浅拷贝原理,分别如何去实现?(问到过,记一下)
- 浅拷贝---浅拷贝是指复制对象的时候,只对第一层键值对进行独立的复制,如果对象内还有对象,则只能复制嵌套对象的地址
- 深拷贝---深拷贝是指复制对象的时候完全的拷贝一份对象,即使嵌套了对象,两者也相互分离,修改一个对象的属性,也不会影响另一个。其实只要递归下去,把那些属性的值仍然是对象的再次进入对象内部一 一进行复制即可;
- 浅拷贝,创建一个对象,把需要拷贝的对象遍历赋值;
- 深拷贝,递归调用浅拷贝。