CS-Interview-Knowledge-Map
CS-Interview-Knowledge-Map copied to clipboard
Build the best interview map. The current content includes JS, network, browser related, performance optimization, security, framework, Git, data structure, algorithm, etc.
>如果是对象,就通过 toPrimitive 转换对象 应该是通过`toPrimitive`转换成原始值。
https://github.com/InterviewMap/CS-Interview-Knowledge-Map/blob/master/JS/JS-en.md#mapflatmap-and-reduce ```js [1, [2], 3].flatMap((v) => v + 1) // -> [2, 3, 4] ``` 上面这个,运行结果是不正确的,而且没有表达 flatMap 的作用 应该是类似这样 ```js const arr = [1, 2, 3, 4] arr.map(x => [x...
__proto__这个属性不存在与IE浏览器中,是不是要特殊说明下?
 new Foo.getName();的执行顺序我感觉是: ``` 1、var temp=Foo.getName 2、new temp() ``` 因为...·...的优先级大于new...(...)
typo: MLS->MSL
 新增了一种基础数据类型:BigInt
 前驱结点此处或许应为 `parent.right!==node` 或 `parent.left===node` 同理后继结点算法也有类似问题
原文如下  事件触发一直都是按照:捕获-事件源-冒泡,三个阶段在触发。 只不过 **捕获事件** 与 **冒泡事件** 均是针对事件源的所有父元素来定义的。 因此,文中在同一个元素上绑定捕获事件与冒泡事件,并触发了这个元素的事件是没有意义的。 表现出来的效果也就是:触发顺序与绑定顺序相同。 但是当在该元素的子元素上触发一个事件,此时,这个元素的触发顺序自然就是先捕获后冒泡。
https://yuchengkai.cn/docs - is this website available in english?
 测试将`immediate置为false`,后面的函数变量没有被保存 测试用例: ```js function testFn(name){ console.log(`hello ${name}`); } var d = debounce(testFn,0,false); d('xiaomin'); d('xiaohua'); -----> hello xiaomin // 置为false,应该输出 hello xiaohua ``` 稍加修改 ```js return function(...params) { // 否则缓存参数和调用上下文...