目录

一、说一说cookie、sessionStorage和localStorage 区别?

1、相同点

2、区别

二、说一说JS数据类型有哪些,区别是什么?

🍂 1、数据类型

🍂 2、数据类型区别

🍂 3、注意

🍂 4、总结

三、说一说你对闭包的理解?

四、说一说promise是什么与使用方法?

🤪Promise的作用

🤪Promise的使用

🤪Promise的特点

🤪Promise的其他方法:

五、说一说跨域是什么?如何解决跨域问题?


一、说一说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]]);

【前端】面试题1~5-LMLPHP

【前端】面试题1~5-LMLPHP

🍂 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()

五、说一说跨域是什么?如何解决跨域问题?

😏 跨域

  • 当前页面中的某个接口请求的地址和当前页面的地址如果协议、域名、端口其中有一项不同,就说该接口跨域了。

😏 跨域限制的原因

  • 浏览器为了保证网页的安全,出的同源协议策略

😏 跨域报错信息

【前端】面试题1~5-LMLPHP

😏 跨域解决方案

😏跨域场景

  • 前后端分离式开发、调用第三方接口

总结:同源限制、协议、域名、端口、CORS、node中间件、JSONP、postmessage

12-06 04:59