目录
一、说一说cookie、sessionStorage和localStorage 区别?
一、说一说cookie、sessionStorage和localStorage 区别?
1、相同点
2、区别
🐾 数据存储位置
🐾 生命周期
🐾 存储大小
🐾 写入方式
🐾 发送请求时是否携带
🐾 应用场景
- 总结:数据存储位置、生命周期、存储大小、写入方式、数据共享、发送请求时是否携带、应用场景
二、说一说JS数据类型有哪些,区别是什么?
🍂 1、数据类型
🍂 2、数据类型区别
🍂 3、注意
let key = Symbol('key');
let obj = { [key]: 'symbol' };
// 返回一个数组[Symbol('key')]
let keyArray = Object.getOwnPropertySymbols(obj);
console.log(keyArray);
obj[keyArray[0]] // 'symbol'
console.log(obj[keyArray[0]]);
🍂 4、总结
三、说一说你对闭包的理解?
🍀总结:
- 🍀变量背包、作用域链、局部变量不销毁、函数体外访问函数的内部变量、内存泄漏、内存溢出、形成块级作用域、柯里化、构造函数中定义特权方法、Vue中数据响应式Observer
四、说一说promise是什么与使用方法?
🤪Promise的作用
- Promise是异步微任务,解决了异步多层嵌套回调的问题,让代码的可读性更高,更容易维护
🤪Promise的使用
🤪Promise的特点
1. 对象的状态不受外界影响(Promise对象代表一个异步操作,有三种状态)
2. 一旦状态改变,就不会再变,任何时候都可以得到这个结果
3. resolve方法的参数是then中回调函数的参数,reject方法中的参数是catch中的参数
4. then方法和 catch方法只要不报错,返回的都是一个fullfilled状态的promise
🤪Promise的其他方法:
- pendding、rejected、resolved、微任务、then、catch、Promise.resolve()、Promise.reject()、Promise.all() Promise.any()、Promise.race()
五、说一说跨域是什么?如何解决跨域问题?
😏 跨域
- 当前页面中的某个接口请求的地址和当前页面的地址如果协议、域名、端口其中有一项不同,就说该接口跨域了。
😏 跨域限制的原因
- 浏览器为了保证网页的安全,出的同源协议策略。
😏 跨域报错信息
😏 跨域解决方案
😏跨域场景
- 前后端分离式开发、调用第三方接口
总结:同源限制、协议、域名、端口、CORS、node中间件、JSONP、postmessage