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

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

2023-07-16 16:15 作者:59032442061_bili  | 我要投稿

JavaScript作用域链?

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

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

 

网络请求

XHR封装

1、创建一个XMLHttpRequest的对象

2、通过.open的方法传入get、post还是其他的请求方式,第二个参数传入的是请求后端的地址,第三个参数是不是异步默认情况下是true

3、通过send发送

4、使用onreadystatechange来监听,如果返回回来的onreadystatechange返回的是4的话就查看status返回的状态码是200-300的话就是请求成功,xhr请求是可以取消的,通过abort取消

 

Fetch(w3c)

Fetch()是一个全局方法提供简单合理的方式跨网络获取资源,它的请求是基于Promise的。它是专门为了取代传统的xhr而生的

 

Jsonp(解决跨域)

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

后端返回的数据格式一定是test(`[“11”,”22”,”333”]`)

前端提前定义号test这个方法,通过形参就拿到数据了,jsonp可以做到get请求,无法做到post请求(缺点),jsonp不可以取消

 

 

跨域和同源策略

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

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

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

Access-Contorl-Allow-Origin配置成*

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

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

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