HTML前端高频面试题及详细答案(实战版)_第1页
HTML前端高频面试题及详细答案(实战版)_第2页
HTML前端高频面试题及详细答案(实战版)_第3页
HTML前端高频面试题及详细答案(实战版)_第4页
HTML前端高频面试题及详细答案(实战版)_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

HTML前端高频面试题及详细答案(实战版)一、基础核心题1.说说你对HTML的理解,HTML是什么?HTML是超文本标记语言,是构建网页结构的核心骨架语言。它不是编程语言,没有逻辑、变量、运算这些特性,只负责定义网页的结构和内容语义。简单来说,网页的图片、文字、按钮、列表、表单等所有内容结构,都是通过HTML标签搭建的,是前端页面的最基础底层,配合CSS做样式、JS做交互,共同组成完整的网页。2.HTML5相比HTML4有哪些核心改进?我日常开发中感触最深的主要是这几方面,都是实战中常用的:第一,新增语义化标签,解决了旧版本全靠div布局、结构混乱的问题,比如header、nav、main、section、footer、article这些,让页面结构清晰,可读性更高,也利于搜索引擎抓取和无障碍访问。第二,新增多媒体能力,原生支持audio音频、video视频标签,不用再依赖flash插件,兼容性和性能都更好。第三,新增表单增强,提供了email、number、tel、date等新输入类型,还有required、placeholder、pattern等原生校验属性,简化表单开发。第四,新增画布、本地存储等功能,canvas用于绘图、localStorage/sessionStorage实现本地数据存储,弥补了旧HTML存储能力的短板。第五,废弃了大量冗余、表现类标签,比如font、center、strike,把样式全权交给CSS,实现结构和样式分离。3.什么是语义化标签?为什么要使用语义化?语义化标签就是自带明确含义的HTML标签,标签名字就能体现内容的作用和位置,而不是单纯的容器。比如nav代表导航、footer代表页脚、article代表独立文章、section代表区块。使用语义化的好处非常实用:1.代码可读性强,团队协作时,别人一眼就能看懂每个区块的作用,不用反复注释;2.利于SEO,搜索引擎爬虫可以精准识别页面结构和核心内容,提升网页收录和排名;3.适配无障碍设备,屏幕阅读器可以识别标签语义,帮助视障用户浏览网页;4.结构分层清晰,后续维护和迭代更方便,减少冗余div嵌套。4.块级元素和行内元素的区别?常见标签有哪些?这是HTML布局的基础,两者核心差异在布局规则、宽高属性和排列方式:块级元素:独占一整行,默认宽度100%父级宽度,可以设置宽、高、内外边距、上下左右边距。常见标签:div、p、h1-h6、ul、li、ol、section、header、footer。行内元素:同行多个排列,不会独占行,宽高由内容撑开,无法设置宽高、上下边距,只能设置左右内外边距。常见标签:span、a、em、i、strong、u。另外还有行内块元素,兼具两者特性:同行排列,同时可以设置宽高、边距,常见标签:img、input、button。5.a标签的target属性有哪些值?各自作用?日常开发常用四个值,都是实战高频用法:1._self:默认值,在当前页面窗口刷新跳转,覆盖当前页面;2._blank:在全新的空白新标签页打开链接,最常用;3._parent:在父级窗口打开,多用于嵌套iframe页面;4._top:在最顶层窗口打开,会清空所有嵌套框架,直达主页面。二、HTML5专项高频题1.localStorage和sessionStorage的区别?两者都是HTML5原生本地存储,存储数据都不会发送给服务器,区别主要在生命周期和作用域:1.生命周期:localStorage是持久化存储,手动删除、清空缓存或者卸载网站前,数据一直存在;sessionStorage是会话级存储,关闭当前标签页、浏览器会话结束,数据就会自动清空。2.作用域:localStorage同源页面共享,同一个域名下所有页面都能读取数据;sessionStorage仅当前标签页独享,同源不同标签页无法互通数据。3.共同点:存储容量基本都是5MB左右,仅支持字符串存储,复杂数据需要用JSON序列化转换。2.说说Cookie、localStorage、sessionStorage的区别从开发实际场景对比,核心区别集中在容量、请求携带、生命周期、用途:1.容量:Cookie最小,只有4KB左右;localStorage、sessionStorage约5MB,存储量更大。2.请求携带:Cookie每次HTTP请求都会自动携带到服务器,适合存登录态、token;本地存储不会主动上传服务器,适合存本地静态数据、用户配置。3.生命周期:Cookie可设置过期时间,默认关闭浏览器失效;localStorage永久存储;sessionStorage会话失效。4.操作权限:Cookie可被服务端和前端操作;本地存储只能前端JS操作,服务端无法直接读取。3.HTML5表单新增属性和新标签有哪些?新增输入类型:email、tel、url、number、date、time、range、color,原生自带格式校验和输入适配,比如移动端打开对应输入法。新增表单属性:required(必填校验)、placeholder(输入框提示文字)、readonly(只读)、disabled(禁用)、autofocus(自动聚焦)、autocomplete(自动补全)、pattern(正则校验)。新增表单标签:datalist(输入下拉联想)、progress(进度条)、meter(度量标尺),简化原生表单交互开发。4.什么是拖拽API?简单说下使用逻辑HTML5原生拖拽API可以实现元素拖拽、放置功能,不用手写JS拖拽逻辑,开发效率更高。核心逻辑分两部分:拖拽元素和目标放置元素。1.拖拽元素:设置draggable="true"开启拖拽,绑定dragstart(开始拖拽)、drag(拖拽中)、dragend(拖拽结束)事件;2.放置元素:默认不允许放置,需要绑定dragover事件并阻止默认行为,再绑定drop事件处理拖拽完成后的业务逻辑,比如移动元素、赋值数据。三、进阶实战面试题1.页面渲染过程中,HTML的解析流程是怎样的?浏览器加载页面时,对HTML的解析是循序渐进的,不会等全部代码下载完再解析,流程很清晰:1.浏览器从服务器获取HTML文档,逐行读取HTML代码;2.解析HTML标签,生成DOM树,标签从上到下依次解析,遇到CSS、JS资源会发起请求;3.解析完成后,结合CSS生成的CSSOM样式树,构建渲染树;4.进行布局排版,计算每个元素的位置和大小,最后绘制页面,展示内容。重点:普通JS会阻塞HTML解析和页面渲染,所以实际开发中会把JS放在页面底部或者加defer/async,避免页面白屏、阻塞渲染。2.defer和async的区别?两者都是解决JS阻塞HTML解析的方案,让脚本异步加载,不阻塞页面渲染,但执行时机完全不同:1.defer:异步加载JS文件,加载完成后等待HTML解析完毕再执行,多个defer脚本会按照代码书写顺序依次执行,保证顺序一致;2.async:异步加载JS文件,加载完成立即执行,不管HTML是否解析完成,多个async脚本执行顺序不确定,谁先加载完谁先执行。实战场景:依赖顺序的公共脚本、业务脚本用defer;独立不依赖其他代码的统计、埋点脚本用async。3.什么是回流和重绘?如何避免频繁触发?这是页面性能优化的核心知识点,和HTML布局渲染强相关:重绘:元素样式改变,但不改变布局大小和位置(比如颜色、透明度、阴影),浏览器只重新绘制元素样式,开销较小。回流(重排):元素宽高、位置、布局结构改变,或者DOM节点增删,浏览器需要重新计算整个页面布局,开销极大,会连带触发子元素、父元素甚至整个页面回流。优化方式:1.避免频繁操作DOM,批量修改样式,尽量使用class统一替换,不逐条修改style;2.频繁修改的元素设置绝对定位,脱离文档流,回流不会影响其他元素;3.缓存DOM查询结果,避免频繁读取布局属性(offsetWidth、clientHeight等);4.使用文档碎片批量插入DOM节点,减少页面渲染次数。4.图片标签alt和title属性的区别?两个都是图片常用属性,作用场景完全不同:alt是图片替代文本,核心作用是容错和无障碍:图片加载失败时,页面会显示alt文字;同时供屏幕阅读器读取,提升无障碍体验,也是SEO优化的基础配置。title是悬浮提示文本,鼠标悬浮在图片上时,会弹出title设置的文字提示,仅做交互提示,对加载容错和SEO没有作用。5.iframe的优缺点?实际开发怎么用?优点:可以嵌套独立的页面,实现页面隔离,互不干扰;适合嵌入第三方页面、广告、地图、编辑器等外部资源;复用页面模块,减少重复开发。缺点:会增加HTTP请求,加重页面加载负担;阻塞主页面渲染,影响首屏速度;存在安全风险,容易被恶意嵌套劫持;不利于SEO,爬虫无法抓取iframe内部内容。实战用法:尽量少用,只在嵌入第三方独立资源时使用,同时做好安全校验,设置sandbox沙箱限制权限,防止安全漏洞。四、兼容性与优化面试题1.如何解决HTML页面兼容问题?日常开发主要针对老旧浏览器兼容,常用方案:1.引入html5shiv插件,让低版本IE识别HTML5语义化标签,正常渲染结构;2.统一页面默认样式,使用reset.css或normalize.css,清除浏览器默认样式差异;3.针对特殊兼容问题,使用条件注释,单独为低版本IE写专属样式和脚本;4.避免使用过于新的特性,如需使用,搭配polyfill补丁实现兼容。2.前端HTML页面性能优化有哪些手段?结合实战,核心优化点集中在结构、加载、渲染三个层面:1.结构

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论