2020年web前端最全面试题及答案【含vue-react】(共45页).docx
《2020年web前端最全面试题及答案【含vue-react】(共45页).docx》由会员分享,可在线阅读,更多相关《2020年web前端最全面试题及答案【含vue-react】(共45页).docx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上2020年web前端最全面试题目及答案目录HTML篇1,doctype的作用是什么DOCTYPE是html5标准网页声明,且必须声明在HTML文档的第一行。来告知浏览器的解析器用什么文档标准解析这个文档,不同的渲染模式会影响到浏览器对于 CSS 代码甚至 JavaScript 脚本的解析文档解析类型有:l BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。(如果没有声明DOCTYPE,默认就是这个模式)l CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。IE8还有一种介乎于上述两者之间的近乎标准的模式,但是基本淘汰了。2, 这三
2、种模式的区别是什么?l 标准模式(standards mode):页面按照 HTML 与 CSS 的定义渲染l 怪异模式(quirks mode)模式: 会模拟更旧的浏览器的行为l 近乎标准(almost standards)模式: 会实施了一种表单元格尺寸的怪异行为(与IE7之前的单元格布局方式一致),除此之外符合标准定义3, HTML、XHTML、XML有什么区别l HTML(超文本标记语言): 在html4.0之前HTML先有实现再有标准,导致HTML非常混乱和松散l XML(可扩展标记语言): 主要用于存储数据和结构,可扩展,大家熟悉的JSON也是相似的作用,但是更加轻量高效,所以XM
3、L现在市场越来越小了l XHTML(可扩展超文本标记语言): 基于上面两者而来,W3C为了解决HTML混乱问题而生,并基于此诞生了HTML5,开头加入的做法因此而来,如果不加就是兼容混乱的HTML,加了就是标准模式。4, 什么是data-属性?HTML的数据属性,用于将数据储存于标准的HTML元素中作为额外信息,我们可以通过js访问并操作它,来达到操作数据的目的。5, 你对HTML语义化的理解?语义化是指使用恰当语义的html标签,让页面具有良好的结构与含义,比如标签就代表段落,代表正文内容等等。语义化的好处主要有两点:l 开发者友好:使用语义类标签增强了可读性,开发者也能够清晰地看出网页的结
4、构,也更为便于团队的开发和维护l 机器友好:带有语义的文字表现力丰富,更适合搜索引擎的爬虫爬取有效信息,语义类还可以支持读屏软件,根据文章可以自动生成目录这对于简书、知乎这种富文本类的应用很重要,语义化对于其网站的内容传播有很大的帮助,但是对于功能性的web软件重要性大打折扣,比如一个按钮、Skeleton这种组件根本没有对应的语义,也不需要什么SEO。6, HTML5与HTML4的不同之处文件类型声明()仅有一型:。新的解析顺序:不再基于SGML。l 新的元素:section, video, progress, nav, meter, time, aside, canvas, command
5、, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, mark, output, rp, rt, ruby, source, summary, wbr。l input元素的新类型:date, email, url等等。l 新的属性:ping(用于a与area), charset(用于meta), async(用于script)。l 全域属性:id, tabindex, repeat。l 新的全域属性:contenteditable, contextmenu, draggable, drop
6、zone, hidden, spellcheck。l 移除元素:acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, strike, tt7有哪些常用的meta标签?meta标签由name和content两个属性来定义,来描述一个HTML网页文档的元信息,例如作者、日期和时间、网页描述、关键词、页面刷新等,除了一些http标准规定了一些name作为大家使用的共识,开发者也可以自定义name。l charset,用于描述HTML文档的编码形式l http-equiv,顾名思义,
7、相当于http的文件头作用,比如下面的代码就可以设置http的缓存过期日期l viewport,移动前端最熟悉不过,Web开发人员可以控制视口的大小和比例l apple-mobile-web-app-status-bar-style,开发过PWA应用的开发者应该很熟悉,为了自定义苹果工具栏的颜色。8, src和href的区别?l src是指向外部资源的位置,指向的内容会嵌入到文档中当前标签所在的位置,在请求src资源时会将其指向的资源下载并应用到文档内,如js脚本,img图片和frame等元素。当浏览器解析到该元素时,会暂停其他资源的下载和处理,知道将该资源加载、编译、执行完毕,所以一般js脚
8、本会放在底部而不是头部。l href是指向网络资源所在位置(的超链接),用来建立和当前元素或文档之间的连接,当浏览器识别到它他指向的文件时,就会并行下载资源,不会停止对当前文档的处理。9知道img的srcset的作用是什么?可以设计响应式图片,我们可以使用两个新的属性srcset 和 sizes来提供更多额外的资源图像和提示,帮助浏览器选择正确的一个资源。srcset 定义了我们允许浏览器选择的图像集,以及每个图像的大小。sizes 定义了一组媒体条件(例如屏幕宽度)并且指明当某些媒体条件为真时,什么样的图片尺寸是最佳选择。所以,有了这些属性,浏览器会:l 查看设备宽度l 检查 sizes 列
9、表中哪个媒体条件是第一个为真l 查看给予该媒体查询的槽大小l 加载 srcset 列表中引用的最接近所选的槽大小的图像10, 还有哪一个标签能起到跟srcset相似作用?元素通过包含零或多个元素和一个元素来为不同的显示/设备场景提供图像版本。浏览器会选择最匹配的子元素,如果没有匹配的,就选择元素的 src 属性中的URL。然后,所选图像呈现在元素占据的空间中11, script标签中defer和async的区别?l defer:浏览器指示脚本在文档被解析后执行,script被异步加载后并不会立刻执行,而是等待文档被解析完毕后执行。l async:同样是异步加载脚本,区别是脚本加载完毕后立即执行
10、,这导致async属性下的脚本是乱序的,对于script有先后依赖关系的情况,并不适用。12, 有几种前端储存的方式?cookies、localstorage、sessionstorage、Web SQL、IndexedDB13, 这些方式的区别是什么?l cookies: 在HTML5标准前本地储存的主要方式,优点是兼容性好,请求头自带cookie方便,缺点是大小只有4k,自动请求头加入cookie浪费流量,每个domain限制20个cookie,使用起来麻烦需要自行封装l localStorage:HTML5加入的以键值对(Key-Value)为标准的方式,优点是操作方便,永久性储存(除非
11、手动删除),大小为5M,兼容IE8+l sessionStorage:与localStorage基本类似,区别是sessionStorage当页面关闭后会被清理,而且与cookie、localStorage不同,他不能在所有同源窗口中共享,是会话级别的储存方式l Web SQL:2010年被W3C废弃的本地数据库数据存储方案,但是主流浏览器(火狐除外)都已经有了相关的实现,web sql类似于SQLite,是真正意义上的关系型数据库,用sql进行操作,当我们用JavaScript时要进行转换,较为繁琐。l IndexedDB: 是被正式纳入HTML5标准的数据库储存方案,它是NoSQL数据库,
12、用键值对进行储存,可以进行快速读取操作,非常适合web场景,同时用JavaScript进行操作会非常方便。CSS篇1, CSS选择器的优先级是怎样的?CSS选择器的优先级是:内联 ID选择器 类选择器 标签选择器到具体的计算层面,优先级是由 A 、B、C、D 的值来决定的,其中它们的值计算规则如下:l A 的值等于 1 的前提是存在内联样式, 否则 A = 0;l B 的值等于 ID选择器 出现的次数;l C 的值等于 类选择器 和 属性选择器 和 伪类 出现的总次数;l D 的值等于 标签选择器 和 伪元素 出现的总次数 。2,link和import的区别?link属于XHTML标签,而im
13、port是CSS提供的。页面被加载时,link会同时被加载,而import引用的CSS会等到页面被加载完再加载。import只在IE 5以上才能识别,而link是XHTML标签,无兼容问题。link方式的样式权重高于import的权重。使用dom控制样式时的差别。当使用javascript控制dom去改变样式的时候,只能使用link标签,因为import不是dom可以控制的2,empxrem区别?l px:绝对单位,页面按精确像素展示。l em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。l r
14、em:相对单位,可理解为”root em”, 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持3,块级元素水平居中的方法?l margin:0 auto方法l flex布局,目前主流方法l table方法4, CSS有几种定位方式?l static: 正常文档流定位,此时 top, right, bottom, left 和 z-index 属性无效,块级元素从上往下纵向排布,行级元素从左向右排列。l relative:相对定位,此时的相对是相对于正常文档流的位置。l absolute:相对于最近的非 static 定位祖先元素的偏移,来确定元素
15、位置,比如一个绝对定位元素它的父级、和祖父级元素都为relative,它会相对他的父级而产生偏移。l fixed:指定元素相对于屏幕视口(viewport)的位置来指定元素位置。元素的位置在屏幕滚动时不会改变,比如那种回到顶部的按钮一般都是用此定位方式。l sticky:粘性定位,特性近似于relative和fixed的合体,其在实际应用中的近似效果就是IOS通讯录滚动的时候的顶屁股。5, 如何理解z-index?CSS 中的z-index属性控制重叠元素的垂直叠加顺序,默认元素的z-index为0,我们可以修改z-index来控制元素的图层位置,而且z-index只能影响设置了positio
16、n值的元素。6, 如何理解层叠上下文?是什么?层叠上下文是HTML元素的三维概念,这些HTML元素在一条假想的相对于面向(电脑屏幕的)视窗或者网页的用户的z轴上延伸,HTML元素依据其自身属性按照优先级顺序占用层叠上下文的空间。如何产生?触发一下条件则会产生层叠上下文:根元素 (HTML),z-index 值不为 auto的 绝对/相对定位,一个 z-index 值不为 auto的 flex 项目 (flex item),即:父元素 display: flex|inline-flex,l opacity 属性值小于 1 的元素(参考 the specification for opacity)
17、,l transform 属性值不为 none的元素,l mix-blend-mode 属性值不为 normal的元素,l filter值不为“none”的元素,l perspective值不为“none”的元素,l isolation 属性被设置为 isolate的元素,l position: fixed7, 清除浮动有哪些方法?l 空div方法:l Clearfix 方法:上文使用.clearfix类已经提到l overflow: auto或overflow: hidden方法,使用BFC8,你对css sprites的理解,好处是什么?是什么 ?雪碧图也叫CSS精灵, 是一CSS图像合成
18、技术,开发人员往往将小图标合并在一起之后的图片称作雪碧图。如何操作?使用工具(PS之类的)将多张图片打包成一张雪碧图,并为其生成合适的 CSS。 每张图片都有相应的 CSS 类,该类定义了background-image、background-position和background-size属性。 使用图片时,将相应的类添加到你的元素中。好处:减少加载多张图片的 HTTP 请求数(一张雪碧图只需要一个请求)提前加载资源不足:CSS Sprite维护成本较高,如果页面背景有少许改动,一般就要改这张合并的图片加载速度优势在http2开启后荡然无存,HTTP2多路复用,多张图片也可以重复利用一个连接
19、通道搞定9, 你对媒体查询的理解?是什么媒体查询由一个可选的媒体类型和零个或多个使用媒体功能的限制了样式表范围的表达式组成,例如宽度、高度和颜色。媒体查询,添加自CSS3,允许内容的呈现针对一个特定范围的输出设备而进行裁剪,而不必改变内容本身,非常适合web网页应对不同型号的设备而做出对应的响应适配。如何使用?媒体查询包含一个可选的媒体类型和,满足CSS3规范的条件下,包含零个或多个表达式,这些表达式描述了媒体特征,最终会被解析为true或false。如果媒体查询中指定的媒体类型匹配展示文档所使用的设备类型,并且所有的表达式的值都是true,那么该媒体查询的结果为true.那么媒体查询内的样式
20、将会生效。10, 你对盒模型的理解是什么?当对一个文档进行布局(lay out)的时候,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型(CSS basic box model),将所有元素表示为一个个矩形的盒子(box)。CSS 决定这些盒子的大小、位置以及属性(例如颜色、背景、边框尺寸)。盒模型由content(内容)、padding(内边距)、border(边框)、margin(外边距)组成11, 标准盒模型和怪异盒模型有什么区别?在W3C标准下,我们定义元素的width值即为盒模型中的content的宽度值,height值即为盒模型中的content的高度值。因此,标准盒模型下:
21、元素的宽度 = margin-left + border-left + padding-left + width + padding-right + border-right + margin-right而IE怪异盒模型(IE8以下)width的宽度并不是content的宽度,而是border-left + padding-left + content的宽度值 + padding-right + border-right之和,height同理。在怪异盒模型下:元素占据的宽度 = margin-left + width + margin-right虽然现代浏览器默认使用W3C的标准盒模型,但是在
22、不少情况下怪异盒模型更好用,于是W3C在css3中加入box-sizing12, 谈谈对BFC的理解是什么?书面解释:BFC(Block Formatting Context)这几个英文拆解Block: Block在这里可以理解为Block-level Box,指的是块级盒子的标准Formatting context:块级上下文格式化,它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用BFC是指一个独立的渲染区域,只有Block-level Box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干.它的
23、作用是在一块独立的区域,让处于BFC内部的元素与外部的元素互相隔离.如何形成?BFC触发条件:根元素,即HTML元素l position: fixed/absolutel float 不为nonel overflow不为visiblel display的值为inline-block、table-cell、table-caption作用是什么?l 防止margin发生重叠l 两栏布局,防止文字环绕等l 防止元素塌陷13, 为什么有时候人们用translate来改变位置而不是定位?translate()是transform的一个值。改变transform或opacity不会触发浏览器重新布局(re
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 含vue-react 2020 web 前端 全面 试题 答案 vue react 45
限制150内