# 面试题目 **Repository Path**: kclovecodinng/interview_questions ## Basic Information - **Project Name**: 面试题目 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-03-27 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 课程面试题 ## ajax ##### ajax的应用场景有哪些? **答:** \- 页面上拉加载更多数据、 \- 列表无刷新分页、 \- 表单项焦点 离开数据验证、 \- 搜素框提示文字下拉列表 ##### **ajax实现步骤** **答:** 1.创建ajax对象 2.告诉ajax请求地址以及请求方式 3.发送请求(请求是对象,也会被浏览器转换为json对象传输,服务端使用JSON.Stringify()将json对象转换为json字符串。Get请求不能传递json对象格式的数据,传统网站的表单也是) 4.获取服务器端给客户端的数据(服务器返回的大多是json对象,使用JSON.Parse将json字符串转换为json对象) ##### **ajax状态码(xhr.readyState可以获取状态码,234在onreadyState(onload)中触发)** **答:** 0:请求未初始化,还没有调用open 1:请求已经建立,未调用send方法 2:请求已经发送 3:请求正在处理,已经响应返回部分数据 4:响应已经完成,响应结束 ##### ajax的错误处理(http状态码,xhr.status) **答:** 1、网络畅通,服务端接收到请求,返回的不是预期的结果 2、网络畅通,服务端接收到请求,返回404状态码,请求地址错误 3、网络畅通,服务端接收请求,服务端返回500状态码 4、服务端返回200,代表请求成功 5、服务端返回301 ,代表资源(网页等)被永久转移到其它URL ##### 同步与异步 **答:** 同步:就是代码逐行执行; 异步:就是代码执行虽然需要花费时间,但是不会等着代码执行完,再执行后后续代码,还是直接执行后续代码。执行完后续代码,再回头看异步代码返回的结果。 ##### ajax的同源 **答:** 两个页面同源就是协议、域名、端口相同 ##### 跨域的几种方法(非同源请求数据的方法) **答:** 1、JSONP(服务端方法),利用script的src属性,服务器响应一个函数调用,客户端定义函数,在函数内部对服务端返回的数据进行处理。 2、CORS 跨域资源共享 3、服务器端代理 4、iframe跨域 5、postMessage跨域 6、nodejs中间件代理跨域 ##### Cookie和本地存储的区别 **答:** 1、localStorage所存储的信息是永久保存的,除非手动去remove;存放的数据大小一般为5Mb 2、sessionStorage仅在当前会话下有效,关闭页面或者浏览器后被清除。存放的数据一般为5Mb 3、cookie 默认如果不设置有效期,那么他默认是随着窗口关闭而清除;存放的数据大约为4K左右;用于服务器通信,每次都会携带在HTTP请求头中。 ##### 在ajax跨域请求中,自定义请求头流程是什么? **答:** 对于跨域请求并要求设置Headers自定义参数的时候的 “预请求”,如果遇到跨域并设置headers的请求,所有请求需要两步完成! A 第一步:发送预请求 OPTIONS 请求。此时 服务器端需要对于OPTIONS请求作出响应 B 第二步:服务器accepted 第一步请求后 浏览器自动执行第二步 发送真正的请求。 ##### 自定义组件常用的有哪些和自定义指令 答:注册组件的四种方式: 全局组件、局部组件、Script方式注册组件、