欢迎光临散文网 会员登陆 & 注册

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

2023-07-16 22:46 作者:李个老六  | 我要投稿

P5

1.介绍JS有哪些内置对象?

数据封装对象:Object、Array、Boolean、Number、String

其他对象:Function、Arguments、Math、Date、RegExp、Error

ES6新增对象:Symbol(标识唯一性id)、Map、Set、Promises、Proxy、Reflect

2.如何最小化重绘和回流

需要对元素进行复杂的操作时,可以先隐藏(display:"none"),操作完成后再显示;

需要创建多个DOM节点时,使用DocumentFragment创建完后一次性的加入document;

缓存Layout属性值,如:var left = elem.offsetLeft;这样,多次使用left只产生一次回流;

尽量避免用table布局(table元素一旦触发回流就会导致table里所有的其他元素回流);

3.javascript作用链域

全局函数无法查看局部函数的内部细节,但局部函数可以查看其上层的函数细节,直至全局细节;

如果当前作用域没有找到属性或方法,会向上层作用域[[Scoped]]查找,直至全局函数,这种形式就是作用域链

4.网络请求

(1)XHR

a.创建一个XMLHttpRequest对象

b.通过.open传入请求方式,地址,以及是否异步

c.send发送

d.通过onreadyStatechange监听,如果返回是4,则查看状态码分辨是否请求成功

注:xhr请求可以通过abort取消

(2)fetch(w3c)

主要用来解决XHR请求混乱,对异步处理不友好的问题

第一个.then必须返回一个res.json(),然后在后面的.then中才能获得真正的数据

需要考虑兼容性问题,取代xhr

(3)jsonp

动态创建script指向没有跨域限制,onload

后端返回的数据格式一定是:test('["111","222","333"]')

前端提前定义好test这个方法,通过形参就能拿到数据了

jsonp可以做get请求,无法做post请求

jsonp不可以取消


5.跨域和同源策略

所谓的同源策略其实就是浏览器的一种机制,只允许在同源,也就是同协议、同域名、同端口的情况下才能进行数据交互,但是我们在开发项目的过程中项目接口不止一个域,所以往往就需要做跨域处理,通常的跨域方式有这么几种:

1、jsonp主要依赖script标签不受同源策略影响,src指向某一个接口的地址,同步需要传递callback回调函数名字,这样当接口调用成功之后本地创建的全局回调函数会护行,并接收到数据不使用img标签的原因是,因为img标签无法执行js语句

2、CORS,依赖服务器对前端的请求头信息进行放行,不做限制

Access-Contorl-Allow-Origin配置成

3、代理访问,前端访问不存在的跨域问题的代理服务器,代理服务器再去访问目标服务器(服务器之间没有跨域限制)

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)的评论 (共 条)

分享到微博请遵守国家法律