-
div+css的布局比较table布局有什么优点?
改版得时候更方便,只需要改css文件
页面加载速度很快、结构化清晰、页面显示简洁
表现与结构相分离
易于优化对搜索引擎更友好,排名更容易靠前 -
为什么利用多个域名来存储网站资源会更有效?
CDN缓存更方便
突破浏览器并发执行
节约主域名的连接数,优化页面响应速度
防止不必要的安全问题 -
简述一下src与href的区别
Src是指向物件的来源地址,是引入。在img、script、iframe等元素上使用
Href是超文本引用,指向需要连结的地方,是与该页面有关联的,是引用。在link和a等元素上使用。
使用区别:src用作“拿取”(引入),href用作“连结前往”(引用) -
列出px、em、rem三者的区别,以及各自适应的场景
Px:像素,相对长度单位,相对于显示器屏幕分辨率而言
Em:相对长度单位,相对于当前对象内的文本字号,如果当前对象没有设置字体尺寸,则相对于浏览器默认字号
Rem:相对长度单位,相对于HTML根元素字号尺寸 -
Typeof和instanceof操作和用法
Typeof操作符判断基本数据类型;
Instanceof检测对象的继承关系,左操作数是对象,右操作数是构造函数 -
Js的基本数据类型和引用数据类型
基本数据类型:undefined、null、boolean、number、string、symbol
引用数据类型:object、array、function -
如何编写高性能的JavaScript?
遵循严格模式:“use strict”;
将js脚本放在页面底部,加快渲染页面;
将js脚本成组打包,减少请求;
使用非阻塞方式下载js脚本;
尽量使用局部变量来保存全局变量;
尽量减少使用闭包;
使用window对象属性方法时,省略window;
尽量减少对象成员的嵌套;
缓存DOM节点的访问;
通过避免eval()和function()构造器;
给setTimeout()和setInterval()传递函数而不是字符串作为参数;
尽量使用直接量创建对象和数组;
最小化重绘(repaint)和回流(reflow); -
get和post请求有什么区别?
它们是http协议的两种数据请求方式。
get请求可以主动被浏览器缓存,post请求无法缓存,除非是手动去设置;
get请求的在浏览器回退时候是无害的,而post会再次请求;
get请求通过url传递,post直接放在请求头中;
get只支持url编码,post支持多种编码方式;
get请求在浏览器中有长度限制(ie大概为2kb),post不存在;
get产生一个tcp数据包,而post产生两个; -
闭包
闭包的概念:函数A中,有一个函数B,函数B中可以访问函数A中定义的变量或者数据。
优点:保护函数内的变量安全,加强了封装性,
缺点:常驻内存,会增大内存的使用量,使用不当会很容易造成内存泄漏。 -
Css的link和import的区别是什么?
本质的差别:link属于XHTML标签,而@import完全是css提供的一种方式
加载顺序区别:当一个页面被加载的时候,link引用的css会同时被加载,而@import引用的css会等到页面全部被下载完成再被加载,所以有时候浏览@import加载css的页面时开始会没有样式,网速慢的时候特别明显
兼容性区别:@import是css2.1提出的,所以老的浏览器不支持,只有在IE5以上才能识别,而link标签无此问题
当使用js控制dom时去改变样式,只能使用link,因为@import不是dom可以控制的
前端基础面试题整理(不断更新)
最新推荐文章于 2019-12-11 11:06:12 发布