欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2018前端必考面试题总结11

程序员文章站 2022-03-04 12:27:57
...

2018前端必考面试题总结11

简述一下src与href的区别

src用于替换当前元素,href用于在当前文档和引用资源之间确立联系。
src指向外部资源的位置,指向的内容会将嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。当浏览器解析到有src的元素时,会暂停其他资源的下载和处理,直到将该资源加载,编译,执行完毕。因此将js脚本放在底部。
href指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接当我们在文档中添加<link href="common.css" rel="stylesheet"/>那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的处理,所以我们建议使用link方式来加载css,而不是使用@import方式。

简述同步和异步的区别

同步是阻塞模式,异步是非阻塞模式。
同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等下去,直到受到返回信息才继续执行下去。
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时,系统会通知进程进行处理,这样可以提高执行的效率。

px、em、rem的区别

px em rem
像素px是相对于显示器屏幕分辨率而言的 相对于当前对象内文本的字体尺寸,如果当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸 相对于HTML根元素
特点:(1)IE无法调整;(2)FF能够调整 特点:(1)em的值不固定;(2)em会继承父级元素的字体大小 特点:(1)只修改根元素就成比例的调整所有字体大小;(2)除了IE8及更早版本外,所有浏览器都支持

所以,对于只需要适配少部分手机设备,且分辨率对页面影响不大的,使用px即可。
而对于需要适配各种移动设备,使用rem,例如需要适配iPhone和iPad等分辨率差别比较大的设备。

什么叫优雅降级和渐进增强?

渐进增强: 针对低版本浏览器进行构建页面,保证最基本的功能,然后在针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
优雅降级: 一开始就构建完整的功能,然后在针对低浏览器进行兼容。

在JavaScript中什么是伪数组?如何将伪数组转化为标准数组?

具有length属性,按索引方式存储数据,不具有数组的push,pop等方法,但仍可以用数组遍历方法遍历他们。典型的是函数argument参数,还有像调用通过document.forms,Select.options,document.getElementsByName() ,document.getElementsByTagName() ,childNodes/children 等,他们都返回NodeList对象都属于伪数组。

function log(){
      var args = Array.prototype.slice.call(arguments);  
//为了使用unshift数组方法,将argument转化为真正的数组
      args.unshift('(app)');
 
      console.log.apply(console, args);
};