千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

- html5语义化?
用对应结构的标签包裹对应的内容。通过能阅读出含义的标签来构建html代码内容的层次结构
对于开发者:
便于团队对于html代码的协作开发和维护;
使代码更易于阅读,在没有样式代码的情况下也能呈现比较好的内容结构和代码结构
对浏览器:
易于seo搜索,便于浏览器更好的区分页面内容的优先级,重要性
便于其他设备解析:屏幕阅读器、盲人阅读器等、利于无障碍阅读、提高页面可访问性。
- html5新特性?
图像、位置、存储、多任务的功能增加:
语义化标签:
表单控件,表单属性
新技术websocket、webworker、geolocation
localstorage、sessionstorage
移除内容:
支持html5新标签:
e8、e7等支持通过document.createElement产生的标签
表述cookie、sessionstorage、localstorage的区别?
cookie是网站为了标识用户身份而存储在本地终端上的数据
cookie始终参与前后端通信,会占用一定的带宽
sessionstorage和localstorage是html5的新特性,不参与前后端通信,不占用带宽,只在本地保存
在存储大小上,cookie存储大小4k左右,localstorage和sessionstorage在5m左右,后者能存储的内容更多一些
有效时间上:
cookie再不做任何设置的情况下是会话级生命周期,也就是回话关闭cookie消失,设置生命周期可以使用expires属性添加标准格式日期来设置其存在于本地存储中的时长,实现n天免登录之类的功能
localstorage是永久存在于内存中的,只能手动删除或者代码删除、sessionstorage生命周期是会话级的,回话关闭,他就消失。
另外cookie的原生api不太友好,功能上不是很完善,使用时可能需要进行一定的封装以方便实用,但是localstorage和sessionstorage本身提供了相对丰富的增删查改的api,使用更加方便。
- 浏览器渲染机制的步骤?
1.解析html文件构建dom树
2.解析css文件构建cssom树
将dom树和cssom树合并生成渲染树
根据渲染树确定元素在页面的准确位置和几何属性
根据元素准确位置和样式类信息开始渲染,生成像素点、称之为光栅化。
- 重绘和回流
重绘只是让浏览器重新更改元素外观,代价较小,比如改变颜色背景色之类的属性,不涉及几何属性和位置改变
回流指的是一些元素的几何属性或者位置信息发生改变,这个时候不只是该元素,其他元素也会受影响发生一定改变,这就需要浏览器重新绘制整个页面,重新计算所有元素的几何属性和位置,代价比较大。
为了节省性能,需要尽可能减少重绘和回流的发生
批量修改dom,减少dom修改次数。
将对元素样式的改变存储在文档碎片fragment,一次性导入。
复杂动画效果使其脱离文档流
css3硬件加速,transform、opacity、filters等动画不会引起回流和重绘
- data属性的用法(设置、获取)、优点
获取与设置的方法:
1.getAttribute()获取其值,setAttribut设置其值
html5新方法
data-name = '值';
老方法无兼容性问题、但是不太方便
新方法方便好用,但是有兼容性问题。
优点:自定义数据可以让页面有更好的交互体验。