现代浏览器为JavaScript创造的 多线程环境。可以新建并将部分任务分配到worker线程并行运行,两个线程可 独立运行,互不干扰,可通过自带的 消息机制 相互通信。
限制:
同源限制
无法使用 document / window / alert / confirm
无法加载本地资源
内存泄露意外的全局变量: 无法被回收
定时器: 未被正确关闭,导致所引用的外部变量无法被释放
事件监听: 没有正确销毁 (低版本浏览器可能出现)
闭包: 会导致父级中的变量无法被释放
dom 引用: dom 元素被删除时,内存中的引用未被正确清空
可用 chrome 中的 timeline 进行内存标记,可视化查看内存的变化情况,找出异常点。
HTTP缓存机制https://www.cnblogs.com/chenqf/p/6386163.html
cookie和session的区别https://www.zhihu.com/question/19786827
常见兼容性问题(移动端/PC端) polyfill的作用https://zhuanlan.zhihu.com/p/27777995
代码相关 44个 Javascript 题解析 43个 javascript 进阶问题列表 如何实现数组去重https://segmentfault.com/a/1190000016418021
正则实现trim()功能 function myTrim(str) { let reg = /^\s+|\s+$/g; return str.replace(reg, ""); } console.log(myTrim(' asdf '));