1. 请说出三种减少页面加载时间的方式
• 优化图片
• 图像格式的选择(GIF:提供的颜色较少,可用在一些对颜色要求不高的地方)
• 优化 CSS(压缩合并 css,如 margin-top,margin-left...)
• 网址后加斜杠(如 www.campr.com/目录,会判断这个“目录是什么文件类型,或者是目录。)
• 标明高度和宽度(如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,如果图片很多,浏览器需要不断地调整页面。这不但影响速度,也影响浏览体验。当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾出图片的空位,然后继续加载后面的内容。从而加载时间快了,浏览体验也更好了。)
• 减少 http 请求(合并文件,合并图片)。
2. Js 中.call()与.apply()区别
每一个函数都有 call 和 apply 方法,都是帮助我们调用函数的,但是在调用的时候可以改变本次执行函数中的 this 指向。
他们的不同点就在于 call 是无限多个参数,而 apply 有两个参数,第二个参数是数组,代表实参集合。一般来说我们也就是在用 JS 实现面向对象的继承特点时会使用到这个方法。
3. ES6 新特性
• const 和 let
• 模板字符串
• 箭头函数
• 函数的参数默认值
• 对象和数组解构赋值
• for...of
• ES6 中的类
• 扩展运算符
4. 简述本地存储技术
localStorage 和sessionStorage是 HTML5 标准中新加入的技术,是属于本地存储技术。
• localStorage:IE67 不认识,永久性存储,只要用户不删除或调用 clear 方法就永远不会删,操作很方便
• sessionStorage:IE67 不认识,但是会话级别的存储,用户关闭浏览器数据就会删除