项目package.json中依赖确实,可用depcheck检查
进入项目根目录运行depcheck,查看Missing dependecies
添加git config core.ignorecase false配置
提升效率,不一定,大量静态的页面,虚拟DOM反而慢
主要原因:
1.框架设计:数据劫持,方便对比,准确定位变更区域
2.跨平台:虚拟 DOM 最大的优势在于抽象了原本的渲染过程,实现了跨平台的能力,而不仅仅局限于浏览器的 DOM,可以是安卓和 IOS 的原生组件,可以是近期很火热的小程序,也可以是各种 GUI;虚拟DOM只有一份,不同平台(PC、小程序、APP)有不同的真实DOM,可以对比、
什么是数据响应式:数据变化时,依赖数据的函数重新运行
Tabnine:AI (国外)
codegeex (国内)
- npm i -g jsdoc
-
- //使用:jsdoc + 文件路径
- jsdoc a.js b.js ...
不可以,每个选项卡都会启动一个独立的会话(session),但打开一个新的选项卡/窗口时,浏览器会把sessionStroage复制到新的选项卡中,如果旧选项卡session改变,其它选项卡是不变动的
使用 CSS 如下:
user-select: none;
或使用 JS 如下,监听 selectstart
事件,禁止选中。
当用户选中一片区域时,将触发 selectstart
事件,Selection API 将会选中一片区域。禁止选中区域即可实现页面文本不可复制。
- document.body.onselectstart = (e) => { e.preventDefault();};
- document.body.oncopy = (e) => { e.preventDefault();};
典型的 MacroTask(宏任务)
setTimeout, setInterval, setImmediate, requestAnimationFrame, I/O, UI rendering等
MicroTask(微任务)包含了
process.nextTick, Promises, Object.observe, MutationObserver
对于一些跨域请求,会先发一个OPTIONS请求(预检请求),来看目的站点是否接受,以确保请求对于目的站点服务器是安全的。