美文网首页
前端超详细面试题

前端超详细面试题

作者: WEB前端含光 | 来源:发表于2020-06-12 14:50 被阅读0次

then() 链来处理这个 Promise 对象,就像这样

await 可以用于等待一个 async 函数的返回值

如果它等到的不是一个 Promise 对象,那 await 表达式的运算结果就是它等到的东西。

如果它等到的是一个 Promise 对象,await 就忙起来了,它会阻塞后面的代码,等着 Promise 对象 resolve,然后得到 resolve 的值,作为 await 表达式的运算结果。

看到上面的阻塞一词,心慌了吧……放心,这就是 await 必须用在 async 函数中的原因。async 函数调用不会造成阻塞,它内部所有的阻塞都被封装在一个 Promise 对象中异步执行。

set 和 map

set

它类似于数组,但是成员的值都是唯一的,没有重复的值。

Set本身是一个构造函数,用来生成 Set 数据结构

const s = new Set();

const arr = [1, 2, 3, 4, 5, 5, 4, 3, 2, 1];
const set = new Set();
arr.forEach(item => set.add(item));
console.log(set); // 1, 2, 3, 4, 5
// 数组快速去重
console.log([...new Set(arr)]); //[1, 2, 3, 4, 5]
map

对象是键值对集合,和 JSON 对象类似,但是 key 不仅可以是字符串还可以是对象

var map = new Map();
var obj = { name: '小缘', age: 14 };
map.set(obj, '小缘喵');
map.get(obj); // 小缘喵
map.has(obj); // true
map.delete(obj) ;// true
map.has(obj); // false
三十、get和post的区别?

其实,GET和POST本质上两者没有任何区别。他们都是HTTP协议中的请求方法:底层实现都是基于TCP/IP协议。所谓区别,只是浏览器厂家根据约定,做得限制不同而已。

(1)使用Get请求时,参数在URL中显示,而使用Post请求,则不会显示出来;

(2)Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.

(3)Get请求请求需注意缓存问题,Post请求不需担心这个问题;

(4)Post请求必须设置Content-Type值为application/x-form-www-urlencoded;

(5)发送请求时,因为Get请求的参数都在url里,所以send函数发送的参数为null,而Post请求在使用send方法时,却需赋予其参数;

(6)GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全问题。而POST方式相对来说就可以避免这些问题。

还有想了解的朋友可以加Q群:1093606290。

相关文章

网友评论

      本文标题:前端超详细面试题

      本文链接:https://www.haomeiwen.com/subject/dxoatktx.html