前端js面试题补充
1.px、em与rem的区别
px代表是像素,是绝对单位,不会因为别的因素而改变大小。
em代表的是相对于父元素的字体大小,没有固定大小,根据其父元素的尺寸来定的相对值。
rem是css3新增的一个相对单位,相对根元素HTML,只要修改根元素就可以成比例的调整所有字体大小。 且IE8以前版本不兼容。
2.为什么要使用初始化样式
因为每个浏览器的兼容性不一样,每个浏览器都有各自的特点,会影响页面的实现,初始化样式就是为了解决这个问题。
3.什么是懒加载
懒加载就是延迟加载
4.为什么要使用懒加载
页面内容丰富,页面长,图片多,如果一次性加载完毕要等很长时间,所以才会用懒加载
5.懒加载的原理
就是先把页面中的图片统一使用一张图片占位,把真正图片路径存在元素的'data-url’(自定义属性)属性里,用时取出,设置替换src路径。
6.懒加载的优点
页面加载的速度变快,减轻服务器的压力,提高用户体验。
7.减低页面加载时间的方法
(1)可以减少页面中HTTP请求数量
(2)压缩合并js,css代码
(3)使用图片懒加载
(4)图片格式选择
8.工作中常用的浏览器,这些浏览器内核是什么
(1)Chrome(谷歌浏览器) webkit -webkit-
(2)Safari(苹果浏览器) webkit -webkit-
(3)Firefox (火狐浏览器) gecko -moz-
(4)IE(IE浏览器) trident -ms-
(5)Opera(欧朋浏览器) presto -o-
9.=,==,===的区别
=为赋值,将后者赋值与前者
==是在比较前后的值是否相等,相等为true,反之为false
===是比较前后的值与类型,需要类型与值同时相同,则为true,反之为false
10.事件冒泡
是当事件触发后,其事件像水疱一样,从最里的元素开始向外冒泡,就是从实际元素到不实际元素
11.promise的介绍
promise是es6中的函数,是一种异步编程的解决方案,简单说就是通过promise对象的不同状态调用不同的回调函数
12.本地存储
(1)cookie数据会自动在web浏览器和web服务器之间传输,也就是说http请求发送时,会把保存在该请求域名下的所有cookie的值发送给web服务器,因此服务器端脚本是可以读,写存储在客户端的cookie的操作
(2)localstorage解决了cookie存储空间的不足的问题,cookie的存储空间为4k,localstorage中一般浏览器支持的是5M大小,且如不手动删除,则永久性存储
(3)sessionstorage是当当前会话结束后,其键值对就会被清空,一般浏览器支持的是5M大小。