2018前端必考面试题总结11
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);
};
上一篇: JQuery图片轮播效果的实现实例
下一篇: Optional类