前端面试题目整理

吃可爱长大的小学妹 提交于 2020-03-28 20:12:33

 

1.请说出三种减少页面加载时间的方法。
* 1.优化图片
* 2.优化css,压缩合并css
* 3.减少http请求(合并文件,合并图片)

 


2.解释下CSS sprites ,以及你要如何在页面或网站中使用它。
* CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background-repeat”,“background-position”的组合进行背景定位,background-position可以用数字精确的定位出背景图片的位置。

 


3.简述一下你对HTML语义化的理解?
* 用正确的标签做正确的事情。
* HTML语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析。即使在没有样式css情况下也以一种文档格式显示,并且是容易阅读的。

 

 

4.为什么要推出es6,相较es5有啥好处?(es6,实际上,就是一种新的javascript规范)
* es6,它包含了一些很棒的新特性,可以更加方便的实现很多复杂的操作,提高开发人员的效率。

你所不知道的es6新特性

 

5.原生forEach和map的区别以及兼容

https://www.cnblogs.com/liuruyi/p/6483526.html

 

 

前端开发的优化问题

1、减少http请求次数:css spirit,data url

2、JS,CSS源码压缩

3、用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能

4、当设置的样式很多时设置className而不是直接操作style

5、少用全局变量

6、缓存DOM节点查找的结果

7、图片预加载

8、避免在页面的主体布局中使用table,table要等其中的内容完全加载之后才会显示出来,显示比div+css布局慢

清除浮动

1、在浮动元素后面添加空标签 clear:both

2、给父标签使用overflow:hidden/auto;zoom:1

3、父级div定义,使用伪类:after和zoom

.clearfloat:after{display:block;clear:both;content:"";visibility:hidden;height:0}
.clearfloat{zoom:1}

  zoom:1的作用: 触发IE下的hasLayout。zoom是IE浏览器专有属性,可以设置或检索对象的缩放比例。

  当设置了zoom的值之后,所设置的元素就会扩大或缩小,高度宽度就会重新计算了,这里一旦改变zoom值时其实也会发生重新渲染,运用这个原理,也就解决了ie下子元素浮动时候父元素不随着自动扩大的问题。

有哪些隐藏内容的方法(同时还要保证屏幕阅读器可用)

   display:none; visibility:hidden;overflow:hidden;

1、display:none;的缺陷

  a.搜索引擎可能认为被隐藏的文字属于垃圾信息而被忽略

  b.屏幕阅读器(是为视觉上有障碍的人设计的读取屏幕内容的程序)会忽略被隐藏的文字。

2、visibility:hidden;的缺陷

  a.隐藏的内容会占据他所应该占据的物理空间

3、overflow:hidden;一个比较合理的方法

.texthidden{display:block;overflow:hidden;width:0;height:0}

  将宽度和高度设定为0,然后超过部分隐藏,就会弥补上述一、二方法中的缺陷,也达到了隐藏内容的目的。

css动画和js动画的优缺点

CSS3动画

  优点:

    1.在性能上会稍微好一点,浏览器会对CSS3的动画做一些优化(比如专门新建一个图层用来跑动画)

    2.代码相对简单

  缺点:

    1.在动画控制上不够灵活

    2.兼容性不好

    3.部分动画功能无法实现(如滚动动画,视差滚动等)

JAVASCRIPT动画

  优点 :

    1.控制能力很强,可以单帧的控制、变换

    2.兼容性好,写得好完全可以兼容IE6,且功能强大

  缺点:

    计算没有css快,另外经常需要依赖其他的库

总结:

  不复杂的动画完全可以用css实现,复杂一些的,或者需要交互的时候,用js会靠谱一些

cookies,sessionStorage和localStorage的区别

  cookie:

    cookie是网站为了标示用户身份而储存在用户本地终端上的数据(通常经过加密)

    cookie数据始终在同源的http请求中携带(即使不需要),即会在浏览器和服务器间来回传递

  sessionSotrage和localStorage不会自动把数据发给服务器,仅在本地保存

  存储大小:

    cookie数据大小不能超过4k

    sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大

  有效时间:

    localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据

    sessionStorage 数据在当前浏览器窗口关闭后自动删除

    cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭

  作用域不同:

    sessionStorage不在不同浏览器窗口中共享,即使是同一个页面

    localStorage在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。

   

资料链接:https://www.cnblogs.com/haoyijing/p/5789348.html#zcss_19

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!