
js面试题整理大全
慢慢整理吧,总不能不往前进吧
一只在学习的404
这个作者很懒,什么都没留下…
展开
-
js利用promise.race实现异步并发请求最大并发数的控制
class PoolRequest{ // 连接池 #quene = []; #max = 1; #doRequest(url) { return new Promise((resolve, reject) => { setTimeout(() => { url % 2 == 0 ? resolve() : reject(); }, url); }); } constructor(limit = 1) {原创 2021-02-15 20:41:03 · 1307 阅读 · 0 评论 -
【面试】面试题有疑问或者不会的题目汇总
loader和plugin的区别是什么我回答的是loader是接受输入参数(文件内容)并经过一系列的处理然后对应输出;而plugin在整个webpack生命周期都有效标准答案:webpack官网这里已经有了描述loaderloader 让 webpack 能够去处理那些非 JavaScript 文件(webpack 自身只理解 JavaScript)。loader 可以将所有类型的文件转换为 webpack 能够处理的有效模块,然后你就可以利用 webpack 的打包能力,对它们进行处理。本.原创 2021-01-25 12:24:45 · 189 阅读 · 0 评论 -
script标签中的async 和defer加载顺序
async不阻塞页面,不影响domcontentload,它是什么时候加载完什么时候执行(浏览器空闲)defer是等所有非async资源加载完成后在执行(哪怕他已经加载完毕)。多个defer按照顺序执行,哪怕后一个defer资源已经加载完成也要等前一个defer执行完毕才去执行等到所有非async资源全部加载完成触发domcontentload...原创 2020-12-10 16:06:56 · 345 阅读 · 0 评论 -
addEventListener和removeEventListener第三个参数
官方文档众所周知addEventListener和removeEventListenr是为dom添加或者卸载事件,比如: let fun = () => { alert("i am called"); }; document.addEventListener('click', fun); // 当需要移除点击事件的时候,如下调用 // document.removeEventListener('click', fun);参数 ta.原创 2020-08-07 16:44:20 · 1809 阅读 · 0 评论 -
web本地存储相关知识
1、本地存储都有哪几种方式web端的本地存储主要分为如下4种形式:cookie,sessionStorage,localStorage,indexedDb。其中indexedDb是一个小型数据库,这里不做讨论2、cookie sessionStorage localStorage有哪些共同点?他们存储数据的字段都是string都有跨域限制3、cookie sessionStorage localStorage有哪些不同点?cookiesessionStoragelocaSto原创 2020-08-05 17:25:26 · 197 阅读 · 0 评论 -
jsonp概念原理以及实现
jsonp1、为什么会有跨域浏览器是同源策略,他是一个约定也是最核心的内容,同时也是安全性的最佳保障。试想一下,如果没有这种限制的话,一个页面同时加载了a与b两个域下的js文件,那么他们的document以及cookie等信息都是共享的,也就是说a可以拿到b域下的信息,反之b也可以拿到a域下的信息,这样的结果是非常可怕的2、同源的概念两个页面具有相同的协议(protocol),主机(host)和端口号(port)。可以将下列代码拷贝到控制台进行执行,查看结果 console.log(locati原创 2020-08-04 17:13:01 · 266 阅读 · 0 评论 -
微任务与宏任务
1、微任务与宏任务分类微任务promiseprocess.nextTickMutationObserver宏任务setTimeoutsetIntervalI/O这里只是列举了一些常见的方法,还有部分未列举在内(MutationObserver被列举在里面的原因是因为我第一眼看到他的时候竟然不知道这是个什么东西…)2、执行顺序主线程任务循环执行直至完毕微任务列表循环执行直至完毕宏任务列表为空则返回1,否则取出第一个任务执行完毕后跳转至2继续执行由于宏任务与微任务是队列的原创 2020-08-03 12:40:15 · 228 阅读 · 1 评论 -
js防抖与节流
要清楚防抖与节流的实现,首先要明白防抖与节流的概念是什么1、防抖防抖:当一个事件在一个连续时间内多次执行的时候,只有在最后一次事件触发大于规定时间(delay)的时候,才执行该事件。实际举例:比如浏览器窗口大小更改的时候(onresize事件),我们需要执行一个函数,如果这个函数足够“卡顿”的话,那么频繁执行的话会感觉到明显的卡顿,比如: // 实现一个阻塞函数 let sleep = (delay = 500) => { let t = Date.now(); while(Date原创 2020-08-02 23:30:02 · 160 阅读 · 0 评论