这篇文章主要介绍关于2020年前端面试题以答案分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1、浏览器的内核分别是什么?
IE浏览器:trident内核
火狐浏览器 gecko内核
苹果浏览器 webkit内核
谷歌浏览器及欧鹏浏览器 bink内核
2、标签上title与alt属性的区别是什么?
alt是错误时提示,页面时错误无法显示时鼠标经过提示文本信息
Title 为该属性提供信息
3、说下bootstrap栅格系统?
Bootstrap是前端一款开发移动端响应框架,会将提供视口自动分为最多12列。用行(row)与列(column)的组合来创建页面布局,
还可以根据视口大小区分个屏幕下显示样式,主要分为:
.col-xs-盒子占分数超 /超小屏幕_手机/
.col-sm-盒子占分数 /小屏下/
.col-md-盒子占分数 />-992px中屏/
.col-lg-盒子占分数 />=1200px大屏/
4、说下优雅降级和渐进增强有什么不同?
优雅降级
是指先针对高版本浏览器开发完整样式功能,在对低版本浏览器进行优化处理,从而解决浏览器各版本开发时兼容问题
渐进增强
是指根据低版本浏览器构建符合浏览器基本功能样式,在对高版本浏览器进行交互页面性能优化
5、rgba和opacity有什么区别?
共同点:
rgba() 和 opacity()都可以对页面元素进行样式透明效果
不同点:
rgba()只作用于元素color于background属性透明,但子级不会继承属性。
opacity()针对元素所有样式透明效果
6、display:none与visiblity:hidden之间有什么区别:
display:none与visiblity:hidden是css样式中隐藏元素方法,display:none隐藏元素不占有原来位置,
visiblity:hidden隐藏还占有原来位置
7、清除浮动方法:浮动一般发生在高度塌陷
(1)给父盒子定高
(2)给父盒子设置overflow:hidden,auto
(3)给元素定伪类::after、zoom=1提升
(4)定位方法清除
(5)结尾处加空div标签clear:both
8、什么是外边距重叠:
相邻的两个盒子margin可结合为一个单独外边距
(1)margin都为正数时,折叠结果取两者最大值
(2)margin都为负数时,折叠结果取绝对值较大值
(3)margin一正一负时,结果为两者和
9、你遇到过哪些兼容性问题?
(1)浏览器默认的margin和padding不同-- 解决方案:添加全局的margin:0;padding: 0;来统一
(2)png24位图片在iE6浏览器上出现背景--解决方案:做成PNG8
(3)问题症状:IE6里的间距比超过设置的间距
解决方案:在display:block;后面加入display:inline;display:table;
(4)Chrome中文界面下默认会将小于12px的文本强制按照12px显示,可通过加入CSS属性-webkit-text-size-adjust:none解决
10、请说出几种隐藏元素的方法:
display:none:
visibility:hidden;
position:absolute;
opacity:0;设置为0元使素完全透明
transform:scale(0)
11、::before 和:after 中双冒号和单冒号有什么区别?解释一下这 2 个伪元素的作用?
单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。
想让插入的内容出现在其它内容前,使用::before,否者,使用::after;
在代码顺序上,::after生成的内容也比::before生成的内容靠后。
12、= == ===之间区别?
= 表示变量赋值,
==表示一般等同,会自动转换数据类型
=== 不做类型转换,两边类型一定等同
13、CSS3新增伪类有那些?
X:first-of-type 选择其父元素的首个 <p> 元素的每个 <p> 元
X:last-of-type 选择其父元素的最后 <p> 元素的每个 <p> 元素。
X:only-of-type 选择其父元素唯一的 <p> 元素的每个 <p> 元素
X:only-child 选择其父元素的唯一子元素的每个 <p> 元素。
X:nth-child(2) 选择其父元素的第二个子元素的每个 <p> 元素。
:enabled、:disabled 控制表单控件的禁用状态。
:checked,单选框或复选框被选中。
14、javascript数据类型:
javascript数据类型主要分为基本数据类型和引用数据类型
基本数据类型:string boolean number undefined null
特点:直接存储在栈(中的数据
引用数据类型:object(aobujk) Array(e we) Function(放k生)
特点:数据存放在堆内存里
15、Sessionstorage、localstorage、cookie之间区别?
共同点:都是用于浏览器存储缓存数据
不同点;
(1)cookie会将数据发送到服务端造成浪费
(2)cookie存储数据大小不能超过4K,Sessionstorage存储可以达5M
(3)cookie过期时间以前一直有效即使关闭浏览器,Sessionstorage仅在关闭浏览器之前,localstorage数据存储一直有效
(4)cookie和localstorage在同源窗口下都是共享,SessionStorage不在不同不同浏览器下共享
16、说明this指向?
(1)全局作用域、定时器、立即执行函数this指向window
(2)comm.js中this指向当前模块
(3)es6中this指向undefined,如:箭头函数没有this指向
(4)事件函数中this指向事件源,普通事件函数this指向widow
(5)对象方法调用函数this指向调用对象
更改this指向方法:
call、apply、bind
(1)都可改变this指向,都采用后续传参方式
(2)call传参是单个传递,apply是数组形式
(3)call、apply函数执行是立即执行,bind会返回一个函数,需要调用才会执行
17、Vue 生命周期***
vue实例从创建到销毁的过程,在声明周期每个阶段,不同方法 钩子函数共八个
(1)beforeCreate(创建前) 在数据观测和初始化事件还未开始
(2)created(创建后) 完成数据观测,属性和方法的运算,初始化事件,$el属性还没有显示出来
(3)beforeMout(载入前) 在挂载开始之前被调用,相关的render函数首次被调用。实例已完成以下的配置:编译模板,把data里面的数据和模板生成html。注意此时还没有挂载html到页面上
(4)mouted(载入后) 在el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用。实例已完成以下的配置:用上面编译好的html内容替换el属性指向的DOM对象。完成模板中的html渲染到html页面中。此过程中进行ajax交互
(5)beforeUpadate(更新前) 在数据更新之前调用,发生在虚拟DOM重新渲染和打补丁之前。可以在该钩子中进一步地更改状态,不会触发附加的重渲染过程。
(6)updated (更新后)在由于数据更改导致的虚拟DOM重新渲染和打补丁之后调用。调用时,组件DOM已经更新,所以可以执行依赖于DOM的操作。然而在大多数情况下,应该避免在此期间更改状态,因为这可能会导致更新无限循环。该钩子在服务器端渲染期间不被调用
(7)beforeDestroy(销毁前) 在实例销毁之前调用。实例仍然完全可用
(8)destroyed(销毁后) 在实例销毁之后调用。调用后,所有的事件监听器会被移除,所有的子实例也会被销毁。该钩子在服务器端渲染期间不被调用。
以上是关于2020年前端面试题以答案分析的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。