js篇
1.跨域是什么?如何解决跨域问题?
跨域是指浏览器不能执行其他网站的脚本。它是浏览器同源策略造成的,是浏览器对JS实施的安全限制。
解决方法
1.通过jsonp跨域
2.document.domain + iframe跨域
3.location.hash + iframe
4.window.name + iframe跨域
5.postMessage跨域
6.跨域资源共享(CORS)
7.nginx代理跨域 常用
8.nodejs中间件代理跨域
9.WebSocket协议跨域
详情:https://blog.csdn.net/qq_34402069/article/details/124757399
2.JS实现异步的方法?
1.回调函数,2.定时器 3.Promises对象 4.、async await
3.map 和 forEach 的区别?
foreach和map的共同点
(1)都是循环遍历数组中的每一项。
(2)每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组)。
(3)匿名函数中的this都是指向window。
(4)只能遍历数组。
foreach和map的不同点:
(1)map()会分配内存空间存储新数组并返回,forEach()不会返回数据。
map遍历的后的数组通常都是生成一个新的数组,新的数组的值发生变化,当前遍历的数组值不会变化。
(2)forEach()允许callback更改原始数组的元素。map()返回新的数组。
forEach遍历通常都是直接引入当前遍历数组的内存地址,生成的数组的值发生变化,当前遍历的数组对应的值也会发生变化。