基本信息
文件名称:2025年JavaScript异步编程深度解析面试题精选.doc
文件大小:21 KB
总页数:5 页
更新时间:2025-06-16
总字数:约3.74千字
文档摘要

Ajax系列面试题总结:

1、Ajax是什么?怎样创立一种Ajax?

Ajax并不算是一种新的技术,全称是asychronousjavascriptandxml,可以说是已经有技术的组合,重要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,初期的浏览器并不能原生支持ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对ajax的原生支持

使用ajax原生方式发送祈求重要通过XMLHttpRequest(原则浏览器)、ActiveXObject(IE浏览器)对象实现异步通信效果

基本环节:

varxhr=null;//创立对象

if(window.XMLHttpRequest){

xhr=newXMLHttpRequest();

}else{

xhr=newActiveXObject("Microsoft.XMLHTTP");

xhr.open(“方式”,”地址”,”标志位”);//初始化祈求

xhr.setRequestHeader(“”,””);//设置http头信息

xhr.onreadystatechange=function(){}//指定回调函数

xhr.send();//发送祈求

js框架(jQuery/EXTJS等)提供的ajaxAPI对原生的ajax进行了封装,熟悉了基础理论,再学习别的框架就会得心应手,好多都是换汤不换药的内容

2、同步和异步的区别?

同步:阻塞的

-张三叫李四去吃饭,李四一直忙得不停,张三一直等着,直到李四忙完两个人一块去吃饭

=浏览器向服务器祈求数据,服务器比较忙,浏览器一直等着(页面白屏),直到服务器返回数据,浏览器才能显示页面

异步:非阻塞的

-张三叫李四去吃饭,李四在忙,张三说了一声然后自己就去吃饭了,李四忙完后自己去吃

=浏览器向服务器祈求数据,服务器比较忙,浏览器可以自如的干本来的事情(显示页面),服务器返回数据的时候告知浏览器一声,浏览器把返回的数据再渲染到页面,局部更新

3、怎样处理跨域问题?

理解跨域的概念:协议、域名、端口都相似才同域,否则都是跨域

出于安全考虑,服务器不容许ajax跨域获取数据,不过可以跨域获取文献内容,因此基于这一点,可以动态创立script标签,使用标签的src属性访问js文献的形式获取js脚本,并且这个js脚本中的内容是函数调用,该函数调用的参数是服务器返回的数据,为了获取这里的参数数据,需要事先在页面中定义回调函数,在回调函数中处理服务器返回的数据,这就是处理跨域问题的主流处理方案

4、页面编码和被祈求的资源编码假如不一致怎样处理?

对于ajax祈求传递的参数,假如是get祈求方式,参数假如传递中文,在有些浏览器会乱码,不一样的浏览器对参数编码的处理方式不一样,因此对于get祈求的参数需要使用encodeURIComponent函数对参数进行编码处理,后台开发语言均有对应的解码api。对于post祈求不需要进行编码

5、简述ajax的过程。

1.创立XMLHttpRequest对象,也就是创立一种异步调用对象

2.创立一种新的HTTP祈求,并指定该HTTP祈求的措施、URL及验证信息

3.设置响应HTTP祈求状态变化的函数

4.发送HTTP祈求

5.获取异步调用返回的数据

6.使用JavaScript和DOM实现局部刷新

6、论述一下异步加载。

1.异步加载的方案:动态插入script标签

2.通过ajax去获取js代码,然后通过eval执行

3.script标签上添加defer或者async属性

4.创立并插入iframe,让它异步执行js

7、请解释一下JavaScript的同源方略。

同源方略是客户端脚本(尤其是Javascript)的重要的安全度量原则。它最早出自NetscapeNavigator2.0,其目的是防止某个文档或脚本从多种不一样源装载。所谓同源指的是:协议,域名,端口相似,同源方略是一种安全协议,指一段脚本只能读取来自同一来源的窗口和文档的属性。

8、GET和POST的区别,何时使用POST?

GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在个字符,有的浏览器是8000个字符

POST:一般用于修改服务器上的资源,对所发送的信息没有限制

在如下状况中,请使用POST祈求:

1.无法使用缓存文献(更新服务器上的文献或数据库)

2.向服务器发送大量数据(POST没有数据量限制)

3.发送包括未知字符的顾客输入时,POST比GET更稳定也更可靠

9、ajax是什么?ajax的交互模型?同