建设高校实验室教学网站的作用百度云网盘网页版
相同点:
1、三者都用于网络请求,但是不同维度
2、 Ajax(Asynchronous Javascript and XML),一种技术的统称,并不是实际的API
3、Fetch是一个具体的API,浏览器里面直接有一个API就叫Fetch
4、 Axios是一个第三方库,可以安装使用
Fetch
1、Fetch是浏览器原生API,用于网络请求
2、和XMLHttpRequest是一个级别的
3、Fetch语法更加简洁、易用、支持Promise
4、Fetch是XMLHttpRequest的升级版本
Ajax
1、Ajax只是个技术统称,可以用XMLHttpRequest来实现Ajax,也可以用用Fetch来实现Ajax
Axios
1、常用的网络请求库lib,随着VUE爆火起来的
2、在node.js中也可以使用
3、内部可用XMLHttpRequest和Fetch来实现
库lib和API的区别是什么?
1、API是原生的函数
2、lib库是一个第三方的工具
3、实际项目中尽量使用现成第三方lib库,不要自己造轮子
看到“请说明Ajax、Fetch、Axios三者的区别”这个问题我就想起来另一个面试题:栈、队列、数组有什么区别?
在这里也做个笔记,复习的时候一起复习。
栈和队列是一种思想,而数组是一种数据结构,也是维度不同。栈和队列可以用数组实现,也可以用别的方法实现,只是一种思想。
栈与队列的相同点
1、他们都属于线性表。线性表的特点是数据元素之间存在“一对一”的关系
2、栈和队列都是操作受限制的线性表。
都只能在线性表的端点插入和删除
栈与队列的不同点
1、队列是先进先出(FIFO),栈是后进先出(LIFO)。2、对插入和删除操作的"限定"不同:
栈是限定只能在表的一端进行插入和删除操作的线性表;
队列是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。
3、遍历数据速度不同
栈只能从头部取数据,也就最先放入的需要遍历整个栈最后才能取出来,而且在遍历数据的时候还得为数据开辟临时空间,保持数据在遍历前的一致性。
队列则不同,它基于地址指针进行遍历,而且可以从头或尾部开始遍历,但不能同时遍历,无需开辟临时空间,因为在遍历的过程中不影像数据结构,速度要快的多。
数组与队列的区别
1、数组
数组是最最基本的数据结构,数组是使用一块连续的内存空间保存数据,保存的数据的个数在分配内存的时候就是确定的。数组可以在任意位置插入或者删除数据,插入或删除的时候后面的数据全部需要移动,移动的数据还是和数据个数有关。数组有一维数组和二维数组。
2、队列
队列可以用数组和链表来实现,队列只允许在队尾添加数据,在对头删除数据。还有一种双端队列,在两端都可以插入和删除。