1. 什么是跨域? 当前页面中的某个接口请求的地址和当前页面的地址如果协议、域名、端口其中有一项不同,就说该接口跨域了 2. 为什么有跨域?浏览器为了保证网页的安全,出的同源协议策略 3. 跨域报错 4. 跨域解决办法4.1 ...
前高频端面试题合集14-接口请求的几种方式
1. 原生ajax1.1 ajax是什么? Ajax的核心是JavaScript对象XmlHttpRequest,XmlHttpRequest使您可以使用 JavaScript向服务器提出请求并处理响应,而不...
前高频端面试题合集13-http
1. http 0.9下面我们就来看看 HTTP/0.9 的一个完整的请求流程(可参考下图)。 因为 HTTP 都是基于 TCP 协议的,所以客户端先要根据 IP 地址、端口和服务器建立 TCP 连接,而建立连接的过程就是 TCP 协...
前高频端面试题合集12-TCP/IP四层协议族
1. 网络连接 OSI七层模型 TCP/IP四层协议族 对应网络协议 应用层(Application) 应用层 HTTP、TFTP, FTP, NFS, WAIS、SMTP 表示层(Presentation) Teln...
前高频端面试题合集11-map与weakmap
1. map1.1 map特点 Map的键和值可以是任何数据类型 12345//1. map的键名可以是任意数据var map = new Map();var o = {num:1};map.set(o,'...
前高频端面试题合集10-箭头函数
1. 箭头函数没有this,this是从外部获取的123456789101112let group = { title: "Our Group", students: ["John"...
前高频端面试题合集9-解构符号
1. 解构符号的作用解构赋值是对赋值运算符的扩展,他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构 2. 使用方式 基本使用 12let [a...
前高频端面试题合集8-let const var
1. var 关键字 声明的全局变量挂载在window对象下 12var a = 1;console.log(window.a) 变量提升 12console.log(a);var a = 1; 声明的变量可以重复声明和修改 123v...
前高频端面试题合集7-this指向
1. this关键字由来this关键字由来:在对象内部的方法中使用对象内部的属性是一个非常普遍的需求。但是 JavaScript 的作用域机制并不支持这一点,基于这个需求,JavaScript 又搞出来另外一套 this 机制。 12...
前高频端面试题合集6-作用域链和闭包
作用域链和闭包1. 作用域作用域是指在程序中定义变量的区域,该位置决定了变量的生命周期。通俗地理解,作用域就是变量与函数的可访问范围,即作用域控制着变量和函数的可见性和生命周期。 在 ES6 之前,ES 的作用域只有两种:全局作用域和...