Deploying to gh-pages from @ ZiuChen/ZiuChen.github.io@6cd860549f 🚀

This commit is contained in:
ZiuChen 2023-02-22 14:12:05 +00:00
parent 52e9026623
commit c504c7792c
100 changed files with 177 additions and 177 deletions

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_【2023】青训营 - 前端练习题汇总解析.md.87c3ec71.lean.js">
<link rel="modulepreload" href="/assets/article_【2023】青训营 - 前端练习题汇总解析.md.8d7e9b9c.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -307,8 +307,8 @@
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;font-style:italic;">return</span><span style="color:#F07178;"> </span><span style="color:#FF9CAC;">true</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/【2023】青训营 - 前端练习题汇总解析.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/works/contribution.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>社区贡献</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E3%80%90%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>【字节跳动】前端面试题总结</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/【2023】青训营 - 前端练习题汇总解析.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/works/contribution.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>社区贡献</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E3%80%90%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>【字节跳动】前端面试题总结</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_【字节跳动】前端面试题总结.md.11aa2b5a.lean.js">
<link rel="modulepreload" href="/assets/article_【字节跳动】前端面试题总结.md.8b64abc5.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -55,8 +55,8 @@
<span class="line"><span style="color:#A6ACCD;">false</span></span>
<span class="line"><span style="color:#A6ACCD;"></span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><h2 id="问答题" tabindex="-1">问答题 <a class="header-anchor" href="#问答题" aria-hidden="true">#</a></h2><h3 id="http缓存的请求头与响应头有哪些" tabindex="-1">HTTP缓存的请求头与响应头有哪些 <a class="header-anchor" href="#http缓存的请求头与响应头有哪些" aria-hidden="true">#</a></h3><ul><li>强制缓存 <ul><li>响应头: Expires 与 Cache-Control</li><li>Expires 绝对时间</li><li>Cache-Control 相对时间</li></ul></li><li>协商缓存 <ul><li>响应头: Etag 请求头: If-Non-Match</li><li>响应头: Last-Modified 请求头: If-Modified-Since</li></ul></li></ul><h3 id="宏任务与微任务有哪些区别-简述他们的应用场景" tabindex="-1">宏任务与微任务有哪些区别?简述他们的应用场景 <a class="header-anchor" href="#宏任务与微任务有哪些区别-简述他们的应用场景" aria-hidden="true">#</a></h3><p>宏任务与微任务优先级不同</p><ul><li>先执行同步代码,后执行异步代码</li><li>主线程代码执行完毕后,检查微任务队列是否为空,非空则优先执行微任务</li><li>每次执行宏任务之前,都会检查微任务队列是否为空,非空则优先执行微任务</li></ul><p>常见的宏任务与微任务</p><ul><li>宏任务 <code>script</code> <code>setTimeout</code> <code>setInterval</code> <code>postMessage</code> <code>MessageChannel</code> <code>setImmediate (NodeJS)</code></li><li>微任务 <code>Promise.then</code> <code>Object.observe</code> <code>MutationObserver</code> <code>process.nextTick (NodeJS)</code></li></ul><h2 id="算法" tabindex="-1">算法 <a class="header-anchor" href="#算法" aria-hidden="true">#</a></h2><p>中文数字转为阿拉伯数字</p><p>给定一个字符串,返回该字符串的所有组合</p><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">输入 abc </span></span>
<span class="line"><span style="color:#A6ACCD;">输出 [</span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">abc</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">acb</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">bac</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">bca</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">cab</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">cba</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">]</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><p>回溯算法</p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/【字节跳动】前端面试题总结.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E3%80%902023%E3%80%91%E9%9D%92%E8%AE%AD%E8%90%A5%20-%20%E5%89%8D%E7%AB%AF%E7%BB%83%E4%B9%A0%E9%A2%98%E6%B1%87%E6%80%BB%E8%A7%A3%E6%9E%90.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>【2023】青训营 - 前端练习题汇总解析</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E3%80%90%E5%BF%AB%E6%89%8B%E3%80%91%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>【快手】深入理解前端面试题</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><p>回溯算法</p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/【字节跳动】前端面试题总结.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E3%80%902023%E3%80%91%E9%9D%92%E8%AE%AD%E8%90%A5%20-%20%E5%89%8D%E7%AB%AF%E7%BB%83%E4%B9%A0%E9%A2%98%E6%B1%87%E6%80%BB%E8%A7%A3%E6%9E%90.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>【2023】青训营 - 前端练习题汇总解析</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E3%80%90%E5%BF%AB%E6%89%8B%E3%80%91%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>【快手】深入理解前端面试题</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_【快手】深入理解前端面试题.md.5f4ef7a3.lean.js">
<link rel="modulepreload" href="/assets/article_【快手】深入理解前端面试题.md.9bd6db9f.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -193,8 +193,8 @@
<span class="line"></span>
<span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">(</span><span style="color:#82AAFF;">twoSum</span><span style="color:#A6ACCD;">([</span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">2</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">3</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">4</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">4</span><span style="color:#A6ACCD;">]</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">5</span><span style="color:#A6ACCD;">)) </span><span style="color:#676E95;font-style:italic;">// 2</span></span>
<span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">(</span><span style="color:#82AAFF;">twoSum</span><span style="color:#A6ACCD;">([</span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">2</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">3</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">4</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">4</span><span style="color:#A6ACCD;">]</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">5</span><span style="color:#A6ACCD;">)) </span><span style="color:#676E95;font-style:italic;">// 3</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/【快手】深入理解前端面试题.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E3%80%90%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>【字节跳动】前端面试题总结</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E3%80%90%E7%94%A8%E5%8F%8B%E9%87%91%E8%9E%8D%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>【用友金融】前端面试题总结</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/【快手】深入理解前端面试题.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E3%80%90%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>【字节跳动】前端面试题总结</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E3%80%90%E7%94%A8%E5%8F%8B%E9%87%91%E8%9E%8D%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>【用友金融】前端面试题总结</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_【用友金融】前端面试题总结.md.69243f39.lean.js">
<link rel="modulepreload" href="/assets/article_【用友金融】前端面试题总结.md.8730c019.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -82,8 +82,8 @@
<span class="line"><span style="color:#A6ACCD;"></span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><h2 id="css权重的优先级" tabindex="-1">CSS权重的优先级 <a class="header-anchor" href="#css权重的优先级" aria-hidden="true">#</a></h2><p>内联样式 &gt; ID选择器 &gt; 类选择器 &gt; 标签选择器 &gt; 通配符</p><h2 id="http状态码" tabindex="-1">HTTP状态码 <a class="header-anchor" href="#http状态码" aria-hidden="true">#</a></h2><p>越多越好</p><ul><li>400 临时重定向</li><li>500 服务器内部错误</li><li>404 服务器无法找到对应资源</li><li>200 请求正常处理</li></ul><h2 id="bfc-块级格式上下文" tabindex="-1">BFC(块级格式上下文) <a class="header-anchor" href="#bfc-块级格式上下文" aria-hidden="true">#</a></h2><p>下列选项对产生BFC描述错误的是</p><ul><li>overflow为visible(x)</li><li>position为absolute</li><li>display为table-cell</li><li>float属性不为none</li></ul><h2 id="元素浮动" tabindex="-1">元素浮动 <a class="header-anchor" href="#元素浮动" aria-hidden="true">#</a></h2><p>设置元素浮动后元素的display值哪个是正确的</p><ul><li>inline-block</li><li>float</li><li>inline</li><li>block(√)</li></ul><h2 id="http请求方法" tabindex="-1">HTTP请求方法 <a class="header-anchor" href="#http请求方法" aria-hidden="true">#</a></h2><p>下面哪个选项不是HTTP的请求方法</p><ul><li>HEAD</li><li>PUT</li><li>OPTIONS</li><li>PUSH(x)</li></ul><p>HTTP请求方法有</p><p><code>GET POST DELETE PUT OPTIONS</code><code>CONNECT HEAD PATCH TRACE</code></p><h2 id="跨域问题" tabindex="-1">跨域问题 <a class="header-anchor" href="#跨域问题" aria-hidden="true">#</a></h2><p>通常有哪些方法解决跨域问题?</p><ul><li>利用JSONP</li><li>反向代理</li><li>服务器配置CORS</li></ul><h2 id="了解webpack的哪些配置项" tabindex="-1">了解Webpack的哪些配置项 <a class="header-anchor" href="#了解webpack的哪些配置项" aria-hidden="true">#</a></h2><ul><li><code>resolve.alias</code> 为路径设置别名</li><li><code>resolve.extensionAlias</code> 后缀省略时 按此顺序指定的后缀名解析文件</li><li><code>module.rules</code> 包含<code>test</code> <code>loader</code> <code>option</code> 正则匹配后缀名 使用指定的loader解析文件</li></ul><h2 id="判断变量类型" tabindex="-1">判断变量类型 <a class="header-anchor" href="#判断变量类型" aria-hidden="true">#</a></h2><p>直接使用<code>typeof</code>无法判断引用类型变量的类型</p><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">typeof</span><span style="color:#A6ACCD;"> []) </span><span style="color:#676E95;font-style:italic;">// object</span></span>
<span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">typeof</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{}</span><span style="color:#A6ACCD;">) </span><span style="color:#676E95;font-style:italic;">// object</span></span>
<span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">typeof</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">null</span><span style="color:#A6ACCD;">) </span><span style="color:#676E95;font-style:italic;">// object</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><h2 id="js浮点数相加精度问题" tabindex="-1">JS浮点数相加精度问题 <a class="header-anchor" href="#js浮点数相加精度问题" aria-hidden="true">#</a></h2><h2 id="简单讲讲vue-router原理" tabindex="-1">简单讲讲Vue Router原理 <a class="header-anchor" href="#简单讲讲vue-router原理" aria-hidden="true">#</a></h2><h2 id="es6熟悉吗" tabindex="-1">ES6熟悉吗 <a class="header-anchor" href="#es6熟悉吗" aria-hidden="true">#</a></h2><p><a href="https://es6.ruanyifeng.com/" target="_blank" rel="noreferrer">ES6教程</a></p><ul><li><code>let</code> <code>const</code></li><li>解构赋值 扩展运算符 可选链</li><li><code>Promise</code> <code>Async</code></li><li><code>Class</code> <code>Set</code> <code>Map</code> <code>Symbol</code> <code>Proxy</code></li></ul><h2 id="css如何实现水平居中与垂直居中" tabindex="-1">CSS如何实现水平居中与垂直居中 <a class="header-anchor" href="#css如何实现水平居中与垂直居中" aria-hidden="true">#</a></h2><p>参见<a href="./../note/CSS.html">CSS学习笔记</a></p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/【用友金融】前端面试题总结.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E3%80%90%E5%BF%AB%E6%89%8B%E3%80%91%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>【快手】深入理解前端面试题</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BA%8B%E4%BB%B6%E5%86%92%E6%B3%A1%E4%B8%8E%E4%BA%8B%E4%BB%B6%E6%8D%95%E8%8E%B7.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>一文读懂事件冒泡与事件捕获</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><h2 id="js浮点数相加精度问题" tabindex="-1">JS浮点数相加精度问题 <a class="header-anchor" href="#js浮点数相加精度问题" aria-hidden="true">#</a></h2><h2 id="简单讲讲vue-router原理" tabindex="-1">简单讲讲Vue Router原理 <a class="header-anchor" href="#简单讲讲vue-router原理" aria-hidden="true">#</a></h2><h2 id="es6熟悉吗" tabindex="-1">ES6熟悉吗 <a class="header-anchor" href="#es6熟悉吗" aria-hidden="true">#</a></h2><p><a href="https://es6.ruanyifeng.com/" target="_blank" rel="noreferrer">ES6教程</a></p><ul><li><code>let</code> <code>const</code></li><li>解构赋值 扩展运算符 可选链</li><li><code>Promise</code> <code>Async</code></li><li><code>Class</code> <code>Set</code> <code>Map</code> <code>Symbol</code> <code>Proxy</code></li></ul><h2 id="css如何实现水平居中与垂直居中" tabindex="-1">CSS如何实现水平居中与垂直居中 <a class="header-anchor" href="#css如何实现水平居中与垂直居中" aria-hidden="true">#</a></h2><p>参见<a href="./../note/CSS.html">CSS学习笔记</a></p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/【用友金融】前端面试题总结.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E3%80%90%E5%BF%AB%E6%89%8B%E3%80%91%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>【快手】深入理解前端面试题</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BA%8B%E4%BB%B6%E5%86%92%E6%B3%A1%E4%B8%8E%E4%BA%8B%E4%BB%B6%E6%8D%95%E8%8E%B7.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>一文读懂事件冒泡与事件捕获</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_一文读懂事件冒泡与事件捕获.md.a9dedb6d.lean.js">
<link rel="modulepreload" href="/assets/article_一文读懂事件冒泡与事件捕获.md.c2d9cd1b.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -58,8 +58,8 @@
<span class="line"><span style="color:#89DDFF;"> </span><span style="color:#676E95;font-style:italic;">// some code ...</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">e</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">preventDefault</span><span style="color:#F07178;">()</span></span>
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><h2 id="相关链接" tabindex="-1">相关链接 <a class="header-anchor" href="#相关链接" aria-hidden="true">#</a></h2><p><a href="https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Building_blocks/Events#%E4%BA%8B%E4%BB%B6%E5%86%92%E6%B3%A1%E5%8F%8A%E6%8D%95%E8%8E%B7" target="_blank" rel="noreferrer"><code>事件冒泡及捕获</code></a></p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/一文读懂事件冒泡与事件捕获.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E3%80%90%E7%94%A8%E5%8F%8B%E9%87%91%E8%9E%8D%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>【用友金融】前端面试题总结</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BC%AA%E7%B1%BB%E4%B8%8E%E4%BC%AA%E5%85%83%E7%B4%A0.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>一文读懂伪类与伪元素</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><h2 id="相关链接" tabindex="-1">相关链接 <a class="header-anchor" href="#相关链接" aria-hidden="true">#</a></h2><p><a href="https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Building_blocks/Events#%E4%BA%8B%E4%BB%B6%E5%86%92%E6%B3%A1%E5%8F%8A%E6%8D%95%E8%8E%B7" target="_blank" rel="noreferrer"><code>事件冒泡及捕获</code></a></p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/一文读懂事件冒泡与事件捕获.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E3%80%90%E7%94%A8%E5%8F%8B%E9%87%91%E8%9E%8D%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>【用友金融】前端面试题总结</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BC%AA%E7%B1%BB%E4%B8%8E%E4%BC%AA%E5%85%83%E7%B4%A0.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>一文读懂伪类与伪元素</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_一文读懂伪类与伪元素.md.18a4ea39.lean.js">
<link rel="modulepreload" href="/assets/article_一文读懂伪类与伪元素.md.dd034dbf.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -80,8 +80,8 @@
<span class="line"><span style="color:#89DDFF;">.</span><span style="color:#FFCB6B;">father</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#B2CCD6;">width</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">100px</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br></div></div><h3 id="相关链接" tabindex="-1">相关链接 <a class="header-anchor" href="#相关链接" aria-hidden="true">#</a></h3><p><a href="https://code.juejin.cn/pen/7088328950488760334" target="_blank" rel="noreferrer">代码片段</a></p><p><a href="https://developer.mozilla.org/zh-CN/docs/Learn/CSS/Building_blocks/Selectors" target="_blank" rel="noreferrer"><code>CSS选择器</code></a></p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/一文读懂伪类与伪元素.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BA%8B%E4%BB%B6%E5%86%92%E6%B3%A1%E4%B8%8E%E4%BA%8B%E4%BB%B6%E6%8D%95%E8%8E%B7.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>一文读懂事件冒泡与事件捕获</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E5%87%BD%E6%95%B0%E4%B8%ADthis%E6%8C%87%E5%90%91%E9%97%AE%E9%A2%98.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>一文读懂函数中this指向问题</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br></div></div><h3 id="相关链接" tabindex="-1">相关链接 <a class="header-anchor" href="#相关链接" aria-hidden="true">#</a></h3><p><a href="https://code.juejin.cn/pen/7088328950488760334" target="_blank" rel="noreferrer">代码片段</a></p><p><a href="https://developer.mozilla.org/zh-CN/docs/Learn/CSS/Building_blocks/Selectors" target="_blank" rel="noreferrer"><code>CSS选择器</code></a></p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/一文读懂伪类与伪元素.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BA%8B%E4%BB%B6%E5%86%92%E6%B3%A1%E4%B8%8E%E4%BA%8B%E4%BB%B6%E6%8D%95%E8%8E%B7.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>一文读懂事件冒泡与事件捕获</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E5%87%BD%E6%95%B0%E4%B8%ADthis%E6%8C%87%E5%90%91%E9%97%AE%E9%A2%98.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>一文读懂函数中this指向问题</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_一文读懂函数中this指向问题.md.d4e27bc7.lean.js">
<link rel="modulepreload" href="/assets/article_一文读懂函数中this指向问题.md.3025c285.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -167,8 +167,8 @@
<span class="line"><span style="color:#A6ACCD;">person1.foo4()() // 隐式绑定: person1</span></span>
<span class="line"><span style="color:#A6ACCD;">person1.foo4.call(person2)() // 显式绑定: person2</span></span>
<span class="line"><span style="color:#A6ACCD;">person1.foo4().call(person2) // 隐式绑定: person1</span></span>
<span class="line"><span style="color:#A6ACCD;"></span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/一文读懂函数中this指向问题.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BC%AA%E7%B1%BB%E4%B8%8E%E4%BC%AA%E5%85%83%E7%B4%A0.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>一文读懂伪类与伪元素</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E4%BB%8E0%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%B9%B4%E5%BA%A6%E6%8A%A5%E5%91%8A.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>从0实现一个年度报告</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"><span style="color:#A6ACCD;"></span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/一文读懂函数中this指向问题.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BC%AA%E7%B1%BB%E4%B8%8E%E4%BC%AA%E5%85%83%E7%B4%A0.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>一文读懂伪类与伪元素</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E4%BB%8E0%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%B9%B4%E5%BA%A6%E6%8A%A5%E5%91%8A.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>从0实现一个年度报告</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_彻底搞懂对象的数据属性描述符、存储属性描述符.md.9865de7d.lean.js">
<link rel="modulepreload" href="/assets/article_彻底搞懂对象的数据属性描述符、存储属性描述符.md.b7a6c275.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -86,8 +86,8 @@
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">function</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">foo</span><span style="color:#89DDFF;">()</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#F07178;">(</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">resetted address value once</span><span style="color:#89DDFF;">&quot;</span><span style="color:#F07178;">)</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/彻底搞懂对象的数据属性描述符、存储属性描述符.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E4%BB%8E0%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%B9%B4%E5%BA%A6%E6%8A%A5%E5%91%8A.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>从0实现一个年度报告</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E6%B5%85%E6%9E%90defineProperty%E4%B8%8EProxy%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%8F%8C%E5%90%91%E7%BB%91%E5%AE%9A.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>浅析defineProperty与Proxy实现的双向绑定</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/彻底搞懂对象的数据属性描述符、存储属性描述符.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E4%BB%8E0%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%B9%B4%E5%BA%A6%E6%8A%A5%E5%91%8A.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>从0实现一个年度报告</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E6%B5%85%E6%9E%90defineProperty%E4%B8%8EProxy%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%8F%8C%E5%90%91%E7%BB%91%E5%AE%9A.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>浅析defineProperty与Proxy实现的双向绑定</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_浅析defineProperty与Proxy实现的双向绑定.md.f2072102.lean.js">
<link rel="modulepreload" href="/assets/article_浅析defineProperty与Proxy实现的双向绑定.md.02c8f56e.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -34,8 +34,8 @@
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;/</span><span style="color:#F07178;">script</span><span style="color:#89DDFF;">&gt;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;/</span><span style="color:#F07178;">body</span><span style="color:#89DDFF;">&gt;</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br></div></div><p>通过 <code>defineProperty</code> 实现的响应式,<strong>不能检测</strong>数组和对象的变化:</p><p><strong>对于对象:</strong></p><p>Vue 无法检测 property 的添加或移除。</p><p>var vm = new Vue({ data:{ a:1 } }) // <code>vm.a</code> 是响应式的 vm.b = 2 // <code>vm.b</code> 是非响应式的</p><p><strong>对于数组:</strong></p><ol><li>当你利用索引直接设置一个数组项时,例如:<code>vm.items[indexOfItem] = newValue</code></li><li>当你修改数组的长度时,例如:<code>vm.items.length = newLength</code></li></ol><h2 id="🔰-vue3的响应式原理" tabindex="-1">🔰 Vue3的响应式原理 <a class="header-anchor" href="#🔰-vue3的响应式原理" aria-hidden="true">#</a></h2></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/浅析defineProperty与Proxy实现的双向绑定.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E5%BD%BB%E5%BA%95%E6%90%9E%E6%87%82%E5%AF%B9%E8%B1%A1%E7%9A%84%E6%95%B0%E6%8D%AE%E5%B1%9E%E6%80%A7%E6%8F%8F%E8%BF%B0%E7%AC%A6%E3%80%81%E5%AD%98%E5%82%A8%E5%B1%9E%E6%80%A7%E6%8F%8F%E8%BF%B0%E7%AC%A6.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>彻底搞懂对象的数据属性描述符、存储属性描述符</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E6%B7%B1%E5%85%A5JavaScript%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>深入JavaScript数据类型</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br></div></div><p>通过 <code>defineProperty</code> 实现的响应式,<strong>不能检测</strong>数组和对象的变化:</p><p><strong>对于对象:</strong></p><p>Vue 无法检测 property 的添加或移除。</p><p>var vm = new Vue({ data:{ a:1 } }) // <code>vm.a</code> 是响应式的 vm.b = 2 // <code>vm.b</code> 是非响应式的</p><p><strong>对于数组:</strong></p><ol><li>当你利用索引直接设置一个数组项时,例如:<code>vm.items[indexOfItem] = newValue</code></li><li>当你修改数组的长度时,例如:<code>vm.items.length = newLength</code></li></ol><h2 id="🔰-vue3的响应式原理" tabindex="-1">🔰 Vue3的响应式原理 <a class="header-anchor" href="#🔰-vue3的响应式原理" aria-hidden="true">#</a></h2></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/浅析defineProperty与Proxy实现的双向绑定.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E5%BD%BB%E5%BA%95%E6%90%9E%E6%87%82%E5%AF%B9%E8%B1%A1%E7%9A%84%E6%95%B0%E6%8D%AE%E5%B1%9E%E6%80%A7%E6%8F%8F%E8%BF%B0%E7%AC%A6%E3%80%81%E5%AD%98%E5%82%A8%E5%B1%9E%E6%80%A7%E6%8F%8F%E8%BF%B0%E7%AC%A6.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>彻底搞懂对象的数据属性描述符、存储属性描述符</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E6%B7%B1%E5%85%A5JavaScript%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>深入JavaScript数据类型</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_深入JavaScript数据类型.md.ed246d99.lean.js">
<link rel="modulepreload" href="/assets/article_深入JavaScript数据类型.md.80fd8af0.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -52,8 +52,8 @@
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">(</span><span style="color:#82AAFF;">classof</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{}</span><span style="color:#A6ACCD;">)) </span><span style="color:#676E95;font-style:italic;">// Object</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><h3 id="核心原理" tabindex="-1">核心原理 <a class="header-anchor" href="#核心原理" aria-hidden="true">#</a></h3><p><a href="https://juejin.cn/post/6844903477940846600" target="_blank" rel="noreferrer">深入Object.prototype.toString</a></p><p>参考ECMA6规范文档<a href="https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.prototype.tostring" target="_blank" rel="noreferrer">Object.prototype.toString()</a></p><h4 id="es5标准下-object-prototype-tostring-执行原理" tabindex="-1">ES5标准下 <code>Object.prototype.toString</code> 执行原理 <a class="header-anchor" href="#es5标准下-object-prototype-tostring-执行原理" aria-hidden="true">#</a></h4><ul><li>如果 <code>this</code><code>undefined</code><ul><li>返回 <code>[object Undefined]</code></li></ul></li><li>如果 <code>this</code><code>null </code><ul><li>返回 <code>[object Null]</code></li></ul></li><li><code>O</code> 为以 <code>this</code> 作为参数调用 <code>ToObject</code> 的结果</li><li><code>class</code><code>O</code> 的内部属性 <code>[[Class]]</code> 的值</li><li>返回三个字符串 <code>&quot;[object&quot;</code> <code>class</code> 以及 <code>&quot;]&quot;</code> 拼接而成的字符串。</li></ul><h4 id="es6标准下-object-prototype-tostring-执行原理" tabindex="-1">ES6标准下 <code>Object.prototype.toString</code> 执行原理 <a class="header-anchor" href="#es6标准下-object-prototype-tostring-执行原理" aria-hidden="true">#</a></h4><p><code>Object.prototype.toString()</code>被调用时,会进行如下步骤:</p><p><img src="/assets/Object.prototype.toString.70e8308c.png" alt="Object.prototype.toString()"></p><p>在ES6里之前的内部属性 <code>[[Class]]</code> 不再使用,取而代之的是一系列的 internal slot</p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/深入JavaScript数据类型.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E6%B5%85%E6%9E%90defineProperty%E4%B8%8EProxy%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%8F%8C%E5%90%91%E7%BB%91%E5%AE%9A.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>浅析defineProperty与Proxy实现的双向绑定</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E6%B7%B1%E5%85%A5Vue3%E6%BA%90%E7%A0%81%EF%BC%8C%E7%9C%8B%E7%9C%8BVue.use%E5%90%8E%E7%A9%B6%E7%AB%9F%E5%8F%91%E7%94%9F%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>深入Vue3源码看看Vue.use后究竟发生了什么</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><h3 id="核心原理" tabindex="-1">核心原理 <a class="header-anchor" href="#核心原理" aria-hidden="true">#</a></h3><p><a href="https://juejin.cn/post/6844903477940846600" target="_blank" rel="noreferrer">深入Object.prototype.toString</a></p><p>参考ECMA6规范文档<a href="https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.prototype.tostring" target="_blank" rel="noreferrer">Object.prototype.toString()</a></p><h4 id="es5标准下-object-prototype-tostring-执行原理" tabindex="-1">ES5标准下 <code>Object.prototype.toString</code> 执行原理 <a class="header-anchor" href="#es5标准下-object-prototype-tostring-执行原理" aria-hidden="true">#</a></h4><ul><li>如果 <code>this</code><code>undefined</code><ul><li>返回 <code>[object Undefined]</code></li></ul></li><li>如果 <code>this</code><code>null </code><ul><li>返回 <code>[object Null]</code></li></ul></li><li><code>O</code> 为以 <code>this</code> 作为参数调用 <code>ToObject</code> 的结果</li><li><code>class</code><code>O</code> 的内部属性 <code>[[Class]]</code> 的值</li><li>返回三个字符串 <code>&quot;[object&quot;</code> <code>class</code> 以及 <code>&quot;]&quot;</code> 拼接而成的字符串。</li></ul><h4 id="es6标准下-object-prototype-tostring-执行原理" tabindex="-1">ES6标准下 <code>Object.prototype.toString</code> 执行原理 <a class="header-anchor" href="#es6标准下-object-prototype-tostring-执行原理" aria-hidden="true">#</a></h4><p><code>Object.prototype.toString()</code>被调用时,会进行如下步骤:</p><p><img src="/assets/Object.prototype.toString.70e8308c.png" alt="Object.prototype.toString()"></p><p>在ES6里之前的内部属性 <code>[[Class]]</code> 不再使用,取而代之的是一系列的 internal slot</p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/深入JavaScript数据类型.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E6%B5%85%E6%9E%90defineProperty%E4%B8%8EProxy%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%8F%8C%E5%90%91%E7%BB%91%E5%AE%9A.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>浅析defineProperty与Proxy实现的双向绑定</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E6%B7%B1%E5%85%A5Vue3%E6%BA%90%E7%A0%81%EF%BC%8C%E7%9C%8B%E7%9C%8BVue.use%E5%90%8E%E7%A9%B6%E7%AB%9F%E5%8F%91%E7%94%9F%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>深入Vue3源码看看Vue.use后究竟发生了什么</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_深入Vue3源码看看Vue.use后究竟发生了什么.md.e6b03974.lean.js">
<link rel="modulepreload" href="/assets/article_深入Vue3源码看看Vue.use后究竟发生了什么.md.cd9b1cff.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -120,8 +120,8 @@
<span class="line"></span>
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> app </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createApp</span><span style="color:#A6ACCD;">(App)</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">use</span><span style="color:#A6ACCD;">(registerElement)</span></span>
<span class="line"><span style="color:#A6ACCD;">app</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">mount</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">#app</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><p>当有新的需要使用的组件时,只需要到<code>register-element.ts</code>文件中引入一次即可。</p><h2 id="参考阅读" tabindex="-1">参考阅读 <a class="header-anchor" href="#参考阅读" aria-hidden="true">#</a></h2><p><a href="https://vuejs.org/api/application.html#app-use" target="_blank" rel="noreferrer">Vue文档: App.use</a></p><p><a href="https://vuejs.org/guide/reusability/plugins.html" target="_blank" rel="noreferrer">Vue文档: Plugins</a></p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/深入Vue3源码看看Vue.use后究竟发生了什么.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E6%B7%B1%E5%85%A5JavaScript%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>深入JavaScript数据类型</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3Proxy%E4%B8%8EReflect.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>深入理解Proxy与Reflect</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><p>当有新的需要使用的组件时,只需要到<code>register-element.ts</code>文件中引入一次即可。</p><h2 id="参考阅读" tabindex="-1">参考阅读 <a class="header-anchor" href="#参考阅读" aria-hidden="true">#</a></h2><p><a href="https://vuejs.org/api/application.html#app-use" target="_blank" rel="noreferrer">Vue文档: App.use</a></p><p><a href="https://vuejs.org/guide/reusability/plugins.html" target="_blank" rel="noreferrer">Vue文档: Plugins</a></p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/深入Vue3源码看看Vue.use后究竟发生了什么.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E6%B7%B1%E5%85%A5JavaScript%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>深入JavaScript数据类型</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3Proxy%E4%B8%8EReflect.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>深入理解Proxy与Reflect</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_深入理解Proxy与Reflect.md.368d9aed.lean.js">
<link rel="modulepreload" href="/assets/article_深入理解Proxy与Reflect.md.9c5a6cd1.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -172,8 +172,8 @@
<span class="line"></span>
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> stu </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">new</span><span style="color:#A6ACCD;"> Reflect</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">construct</span><span style="color:#A6ACCD;">(Person</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> [</span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">ziu</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">18</span><span style="color:#A6ACCD;">]</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> Student)</span></span>
<span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">(stu)</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/深入理解Proxy与Reflect.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E6%B7%B1%E5%85%A5Vue3%E6%BA%90%E7%A0%81%EF%BC%8C%E7%9C%8B%E7%9C%8BVue.use%E5%90%8E%E7%A9%B6%E7%AB%9F%E5%8F%91%E7%94%9F%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>深入Vue3源码看看Vue.use后究竟发生了什么</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98%E6%9C%BA%E5%88%B6.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>深入理解浏览器缓存机制</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/深入理解Proxy与Reflect.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E6%B7%B1%E5%85%A5Vue3%E6%BA%90%E7%A0%81%EF%BC%8C%E7%9C%8B%E7%9C%8BVue.use%E5%90%8E%E7%A9%B6%E7%AB%9F%E5%8F%91%E7%94%9F%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>深入Vue3源码看看Vue.use后究竟发生了什么</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98%E6%9C%BA%E5%88%B6.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>深入理解浏览器缓存机制</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/article_深入理解浏览器运行原理.md.4b1c1d16.lean.js">
<link rel="modulepreload" href="/assets/article_深入理解浏览器运行原理.md.f13b2b23.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -74,8 +74,8 @@
<span class="line"><span style="color:#A6ACCD;"></span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><p>上述代码在控制台的输出为:</p><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">script enter</span></span>
<span class="line"><span style="color:#A6ACCD;">defer script enter</span></span>
<span class="line"><span style="color:#A6ACCD;">DOMContentLoaded enter</span></span>
<span class="line"><span style="color:#A6ACCD;"></span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><ul><li>多个带<code>defer</code>的脚本也是按照自上至下的顺序执行的</li><li>从某种角度来说,<code>defer</code>可以提高页面的性能,并且推荐放到<code>head</code>元素中</li><li>注意:<code>defer</code>仅适用于外部脚本,对于<code>script</code>标签内编写的默认<code>JS</code>代码会被忽略掉</li></ul><h2 id="async属性" tabindex="-1">async属性 <a class="header-anchor" href="#async属性" aria-hidden="true">#</a></h2><p><code>async</code>属性也可以做到让脚本异步加载而不阻塞DOM树的构建它与<code>defer</code>的区别:</p><ul><li><code>async</code>标记的脚本是<strong>完全独立</strong></li><li><code>async</code>脚本不能保证执行顺序,因为它是独立下载、独立运行,不会等待其他脚本</li><li>使用<code>async</code>标记的脚本不会保证它将在<code>DOMContentLoaded</code>之前或之后被执行</li></ul><p>要使用<code>async</code>属性标记的<code>script</code>操作DOM必须在其中使用<code>DOMContentLoaded</code>监听器的回调函数在该事件触发DOM树构建完毕执行相应的回调函数</p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/深入理解浏览器运行原理.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98%E6%9C%BA%E5%88%B6.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>深入理解浏览器缓存机制</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/note/JavaScript.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>JavaScript基础</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"><span style="color:#A6ACCD;"></span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><ul><li>多个带<code>defer</code>的脚本也是按照自上至下的顺序执行的</li><li>从某种角度来说,<code>defer</code>可以提高页面的性能,并且推荐放到<code>head</code>元素中</li><li>注意:<code>defer</code>仅适用于外部脚本,对于<code>script</code>标签内编写的默认<code>JS</code>代码会被忽略掉</li></ul><h2 id="async属性" tabindex="-1">async属性 <a class="header-anchor" href="#async属性" aria-hidden="true">#</a></h2><p><code>async</code>属性也可以做到让脚本异步加载而不阻塞DOM树的构建它与<code>defer</code>的区别:</p><ul><li><code>async</code>标记的脚本是<strong>完全独立</strong></li><li><code>async</code>脚本不能保证执行顺序,因为它是独立下载、独立运行,不会等待其他脚本</li><li>使用<code>async</code>标记的脚本不会保证它将在<code>DOMContentLoaded</code>之前或之后被执行</li></ul><p>要使用<code>async</code>属性标记的<code>script</code>操作DOM必须在其中使用<code>DOMContentLoaded</code>监听器的回调函数在该事件触发DOM树构建完毕执行相应的回调函数</p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/深入理解浏览器运行原理.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98%E6%9C%BA%E5%88%B6.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>深入理解浏览器缓存机制</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/note/JavaScript.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>JavaScript基础</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

View File

@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const A=JSON.parse('{"title":"【2023】青训营 - 前端练习题汇总解析","description":"","frontmatter":{},"headers":[{"level":2,"title":"选择题","slug":"选择题","link":"#选择题","children":[{"level":3,"title":"DAY 1","slug":"day-1","link":"#day-1","children":[]},{"level":3,"title":"DAY 2","slug":"day-2","link":"#day-2","children":[]},{"level":3,"title":"DAY 3","slug":"day-3","link":"#day-3","children":[]},{"level":3,"title":"DAY 4","slug":"day-4","link":"#day-4","children":[]},{"level":3,"title":"DAY 5","slug":"day-5","link":"#day-5","children":[]},{"level":3,"title":"DAY 6","slug":"day-6","link":"#day-6","children":[]},{"level":3,"title":"DAY 7","slug":"day-7","link":"#day-7","children":[]},{"level":3,"title":"DAY 8","slug":"day-8","link":"#day-8","children":[]},{"level":3,"title":"DAY 9","slug":"day-9","link":"#day-9","children":[]}]},{"level":2,"title":"编程题","slug":"编程题","link":"#编程题","children":[{"level":3,"title":"题目 1","slug":"题目-1","link":"#题目-1","children":[]},{"level":3,"title":"题目 2","slug":"题目-2","link":"#题目-2","children":[]},{"level":3,"title":"题目 3","slug":"题目-3","link":"#题目-3","children":[]}]}],"relativePath":"article/【2023】青训营 - 前端练习题汇总解析.md","lastUpdated":1676737739000}'),p={name:"article/【2023】青训营 - 前端练习题汇总解析.md"},e=l(`<h1 id="【2023】青训营-前端练习题汇总解析" tabindex="-1">【2023】青训营 - 前端练习题汇总解析 <a class="header-anchor" href="#【2023】青训营-前端练习题汇总解析" aria-hidden="true">#</a></h1><p>汇总了青训营官方账号每天发布的练习题,并且给出了答案、做了简单解析与知识扩充,有不足之处欢迎一起交流学习。</p><p>每天的选择题不同而编程题是一样的直接去Leetcode刷题即可。</p><h2 id="选择题" tabindex="-1">选择题 <a class="header-anchor" href="#选择题" aria-hidden="true">#</a></h2><h3 id="day-1" tabindex="-1">DAY 1 <a class="header-anchor" href="#day-1" aria-hidden="true">#</a></h3><h4 id="题目描述" tabindex="-1">题目描述 <a class="header-anchor" href="#题目描述" aria-hidden="true">#</a></h4><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">选择题 1 </span></span>
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const A=JSON.parse('{"title":"【2023】青训营 - 前端练习题汇总解析","description":"","frontmatter":{},"headers":[{"level":2,"title":"选择题","slug":"选择题","link":"#选择题","children":[{"level":3,"title":"DAY 1","slug":"day-1","link":"#day-1","children":[]},{"level":3,"title":"DAY 2","slug":"day-2","link":"#day-2","children":[]},{"level":3,"title":"DAY 3","slug":"day-3","link":"#day-3","children":[]},{"level":3,"title":"DAY 4","slug":"day-4","link":"#day-4","children":[]},{"level":3,"title":"DAY 5","slug":"day-5","link":"#day-5","children":[]},{"level":3,"title":"DAY 6","slug":"day-6","link":"#day-6","children":[]},{"level":3,"title":"DAY 7","slug":"day-7","link":"#day-7","children":[]},{"level":3,"title":"DAY 8","slug":"day-8","link":"#day-8","children":[]},{"level":3,"title":"DAY 9","slug":"day-9","link":"#day-9","children":[]}]},{"level":2,"title":"编程题","slug":"编程题","link":"#编程题","children":[{"level":3,"title":"题目 1","slug":"题目-1","link":"#题目-1","children":[]},{"level":3,"title":"题目 2","slug":"题目-2","link":"#题目-2","children":[]},{"level":3,"title":"题目 3","slug":"题目-3","link":"#题目-3","children":[]}]}],"relativePath":"article/【2023】青训营 - 前端练习题汇总解析.md","lastUpdated":1676979063000}'),p={name:"article/【2023】青训营 - 前端练习题汇总解析.md"},e=l(`<h1 id="【2023】青训营-前端练习题汇总解析" tabindex="-1">【2023】青训营 - 前端练习题汇总解析 <a class="header-anchor" href="#【2023】青训营-前端练习题汇总解析" aria-hidden="true">#</a></h1><p>汇总了青训营官方账号每天发布的练习题,并且给出了答案、做了简单解析与知识扩充,有不足之处欢迎一起交流学习。</p><p>每天的选择题不同而编程题是一样的直接去Leetcode刷题即可。</p><h2 id="选择题" tabindex="-1">选择题 <a class="header-anchor" href="#选择题" aria-hidden="true">#</a></h2><h3 id="day-1" tabindex="-1">DAY 1 <a class="header-anchor" href="#day-1" aria-hidden="true">#</a></h3><h4 id="题目描述" tabindex="-1">题目描述 <a class="header-anchor" href="#题目描述" aria-hidden="true">#</a></h4><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">选择题 1 </span></span>
<span class="line"><span style="color:#A6ACCD;">下列哪些是 HTML5 的新特性 </span></span>
<span class="line"><span style="color:#A6ACCD;">A. 语义标签 </span></span>
<span class="line"><span style="color:#A6ACCD;">B. Canvas 绘图 </span></span>

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const A=JSON.parse('{"title":"【2023】青训营 - 前端练习题汇总解析","description":"","frontmatter":{},"headers":[{"level":2,"title":"选择题","slug":"选择题","link":"#选择题","children":[{"level":3,"title":"DAY 1","slug":"day-1","link":"#day-1","children":[]},{"level":3,"title":"DAY 2","slug":"day-2","link":"#day-2","children":[]},{"level":3,"title":"DAY 3","slug":"day-3","link":"#day-3","children":[]},{"level":3,"title":"DAY 4","slug":"day-4","link":"#day-4","children":[]},{"level":3,"title":"DAY 5","slug":"day-5","link":"#day-5","children":[]},{"level":3,"title":"DAY 6","slug":"day-6","link":"#day-6","children":[]},{"level":3,"title":"DAY 7","slug":"day-7","link":"#day-7","children":[]},{"level":3,"title":"DAY 8","slug":"day-8","link":"#day-8","children":[]},{"level":3,"title":"DAY 9","slug":"day-9","link":"#day-9","children":[]}]},{"level":2,"title":"编程题","slug":"编程题","link":"#编程题","children":[{"level":3,"title":"题目 1","slug":"题目-1","link":"#题目-1","children":[]},{"level":3,"title":"题目 2","slug":"题目-2","link":"#题目-2","children":[]},{"level":3,"title":"题目 3","slug":"题目-3","link":"#题目-3","children":[]}]}],"relativePath":"article/【2023】青训营 - 前端练习题汇总解析.md","lastUpdated":1676737739000}'),p={name:"article/【2023】青训营 - 前端练习题汇总解析.md"},e=l("",150),o=[e];function r(c,t,i,y,C,d){return n(),a("div",null,o)}const b=s(p,[["render",r]]);export{A as __pageData,b as default};
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const A=JSON.parse('{"title":"【2023】青训营 - 前端练习题汇总解析","description":"","frontmatter":{},"headers":[{"level":2,"title":"选择题","slug":"选择题","link":"#选择题","children":[{"level":3,"title":"DAY 1","slug":"day-1","link":"#day-1","children":[]},{"level":3,"title":"DAY 2","slug":"day-2","link":"#day-2","children":[]},{"level":3,"title":"DAY 3","slug":"day-3","link":"#day-3","children":[]},{"level":3,"title":"DAY 4","slug":"day-4","link":"#day-4","children":[]},{"level":3,"title":"DAY 5","slug":"day-5","link":"#day-5","children":[]},{"level":3,"title":"DAY 6","slug":"day-6","link":"#day-6","children":[]},{"level":3,"title":"DAY 7","slug":"day-7","link":"#day-7","children":[]},{"level":3,"title":"DAY 8","slug":"day-8","link":"#day-8","children":[]},{"level":3,"title":"DAY 9","slug":"day-9","link":"#day-9","children":[]}]},{"level":2,"title":"编程题","slug":"编程题","link":"#编程题","children":[{"level":3,"title":"题目 1","slug":"题目-1","link":"#题目-1","children":[]},{"level":3,"title":"题目 2","slug":"题目-2","link":"#题目-2","children":[]},{"level":3,"title":"题目 3","slug":"题目-3","link":"#题目-3","children":[]}]}],"relativePath":"article/【2023】青训营 - 前端练习题汇总解析.md","lastUpdated":1676979063000}'),p={name:"article/【2023】青训营 - 前端练习题汇总解析.md"},e=l("",150),o=[e];function r(c,t,i,y,C,d){return n(),a("div",null,o)}const b=s(p,[["render",r]]);export{A as __pageData,b as default};

View File

@ -1,4 +1,4 @@
import{_ as s,o as a,c as n,a as l}from"./app.33820b61.js";const A=JSON.parse('{"title":"【字节跳动】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"看代码说结果","slug":"看代码说结果","link":"#看代码说结果","children":[{"level":3,"title":"代码输出结果1","slug":"代码输出结果1","link":"#代码输出结果1","children":[]},{"level":3,"title":"代码输出结果2","slug":"代码输出结果2","link":"#代码输出结果2","children":[]},{"level":3,"title":"代码输出结果3","slug":"代码输出结果3","link":"#代码输出结果3","children":[]},{"level":3,"title":"代码输出结果4","slug":"代码输出结果4","link":"#代码输出结果4","children":[]},{"level":3,"title":"代码输出结果5","slug":"代码输出结果5","link":"#代码输出结果5","children":[]},{"level":3,"title":"代码输出结果6","slug":"代码输出结果6","link":"#代码输出结果6","children":[]},{"level":3,"title":"代码输出结果7","slug":"代码输出结果7","link":"#代码输出结果7","children":[]}]},{"level":2,"title":"问答题","slug":"问答题","link":"#问答题","children":[{"level":3,"title":"HTTP缓存的请求头与响应头有哪些","slug":"http缓存的请求头与响应头有哪些","link":"#http缓存的请求头与响应头有哪些","children":[]},{"level":3,"title":"宏任务与微任务有哪些区别?简述他们的应用场景","slug":"宏任务与微任务有哪些区别-简述他们的应用场景","link":"#宏任务与微任务有哪些区别-简述他们的应用场景","children":[]}]},{"level":2,"title":"算法","slug":"算法","link":"#算法","children":[]}],"relativePath":"article/【字节跳动】前端面试题总结.md","lastUpdated":1676737739000}'),p={name:"article/【字节跳动】前端面试题总结.md"},e=l(`<h1 id="【字节跳动】前端面试题总结" tabindex="-1">【字节跳动】前端面试题总结 <a class="header-anchor" href="#【字节跳动】前端面试题总结" aria-hidden="true">#</a></h1><h2 id="看代码说结果" tabindex="-1">看代码说结果 <a class="header-anchor" href="#看代码说结果" aria-hidden="true">#</a></h2><h3 id="代码输出结果1" tabindex="-1">代码输出结果1 <a class="header-anchor" href="#代码输出结果1" aria-hidden="true">#</a></h3><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">([</span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">1</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">2</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">3</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">]</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">map</span><span style="color:#A6ACCD;">(parseInt))</span></span>
import{_ as s,o as a,c as n,a as l}from"./app.33820b61.js";const A=JSON.parse('{"title":"【字节跳动】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"看代码说结果","slug":"看代码说结果","link":"#看代码说结果","children":[{"level":3,"title":"代码输出结果1","slug":"代码输出结果1","link":"#代码输出结果1","children":[]},{"level":3,"title":"代码输出结果2","slug":"代码输出结果2","link":"#代码输出结果2","children":[]},{"level":3,"title":"代码输出结果3","slug":"代码输出结果3","link":"#代码输出结果3","children":[]},{"level":3,"title":"代码输出结果4","slug":"代码输出结果4","link":"#代码输出结果4","children":[]},{"level":3,"title":"代码输出结果5","slug":"代码输出结果5","link":"#代码输出结果5","children":[]},{"level":3,"title":"代码输出结果6","slug":"代码输出结果6","link":"#代码输出结果6","children":[]},{"level":3,"title":"代码输出结果7","slug":"代码输出结果7","link":"#代码输出结果7","children":[]}]},{"level":2,"title":"问答题","slug":"问答题","link":"#问答题","children":[{"level":3,"title":"HTTP缓存的请求头与响应头有哪些","slug":"http缓存的请求头与响应头有哪些","link":"#http缓存的请求头与响应头有哪些","children":[]},{"level":3,"title":"宏任务与微任务有哪些区别?简述他们的应用场景","slug":"宏任务与微任务有哪些区别-简述他们的应用场景","link":"#宏任务与微任务有哪些区别-简述他们的应用场景","children":[]}]},{"level":2,"title":"算法","slug":"算法","link":"#算法","children":[]}],"relativePath":"article/【字节跳动】前端面试题总结.md","lastUpdated":1676979063000}'),p={name:"article/【字节跳动】前端面试题总结.md"},e=l(`<h1 id="【字节跳动】前端面试题总结" tabindex="-1">【字节跳动】前端面试题总结 <a class="header-anchor" href="#【字节跳动】前端面试题总结" aria-hidden="true">#</a></h1><h2 id="看代码说结果" tabindex="-1">看代码说结果 <a class="header-anchor" href="#看代码说结果" aria-hidden="true">#</a></h2><h3 id="代码输出结果1" tabindex="-1">代码输出结果1 <a class="header-anchor" href="#代码输出结果1" aria-hidden="true">#</a></h3><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">([</span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">1</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">2</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">3</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">]</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">map</span><span style="color:#A6ACCD;">(parseInt))</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">[1, NaN, NaN]</span></span>
<span class="line"><span style="color:#A6ACCD;"></span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><h3 id="2" tabindex="-1">2 <a class="header-anchor" href="#2" aria-hidden="true">#</a></h3><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#C792EA;">let</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">[</span><span style="color:#A6ACCD;">a </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> b</span><span style="color:#89DDFF;">]</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> []</span></span>
<span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">(a</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> b)</span></span>

View File

@ -1 +1 @@
import{_ as s,o as a,c as n,a as l}from"./app.33820b61.js";const A=JSON.parse('{"title":"【字节跳动】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"看代码说结果","slug":"看代码说结果","link":"#看代码说结果","children":[{"level":3,"title":"代码输出结果1","slug":"代码输出结果1","link":"#代码输出结果1","children":[]},{"level":3,"title":"代码输出结果2","slug":"代码输出结果2","link":"#代码输出结果2","children":[]},{"level":3,"title":"代码输出结果3","slug":"代码输出结果3","link":"#代码输出结果3","children":[]},{"level":3,"title":"代码输出结果4","slug":"代码输出结果4","link":"#代码输出结果4","children":[]},{"level":3,"title":"代码输出结果5","slug":"代码输出结果5","link":"#代码输出结果5","children":[]},{"level":3,"title":"代码输出结果6","slug":"代码输出结果6","link":"#代码输出结果6","children":[]},{"level":3,"title":"代码输出结果7","slug":"代码输出结果7","link":"#代码输出结果7","children":[]}]},{"level":2,"title":"问答题","slug":"问答题","link":"#问答题","children":[{"level":3,"title":"HTTP缓存的请求头与响应头有哪些","slug":"http缓存的请求头与响应头有哪些","link":"#http缓存的请求头与响应头有哪些","children":[]},{"level":3,"title":"宏任务与微任务有哪些区别?简述他们的应用场景","slug":"宏任务与微任务有哪些区别-简述他们的应用场景","link":"#宏任务与微任务有哪些区别-简述他们的应用场景","children":[]}]},{"level":2,"title":"算法","slug":"算法","link":"#算法","children":[]}],"relativePath":"article/【字节跳动】前端面试题总结.md","lastUpdated":1676737739000}'),p={name:"article/【字节跳动】前端面试题总结.md"},e=l("",36),o=[e];function r(c,t,i,y,D,C){return a(),n("div",null,o)}const d=s(p,[["render",r]]);export{A as __pageData,d as default};
import{_ as s,o as a,c as n,a as l}from"./app.33820b61.js";const A=JSON.parse('{"title":"【字节跳动】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"看代码说结果","slug":"看代码说结果","link":"#看代码说结果","children":[{"level":3,"title":"代码输出结果1","slug":"代码输出结果1","link":"#代码输出结果1","children":[]},{"level":3,"title":"代码输出结果2","slug":"代码输出结果2","link":"#代码输出结果2","children":[]},{"level":3,"title":"代码输出结果3","slug":"代码输出结果3","link":"#代码输出结果3","children":[]},{"level":3,"title":"代码输出结果4","slug":"代码输出结果4","link":"#代码输出结果4","children":[]},{"level":3,"title":"代码输出结果5","slug":"代码输出结果5","link":"#代码输出结果5","children":[]},{"level":3,"title":"代码输出结果6","slug":"代码输出结果6","link":"#代码输出结果6","children":[]},{"level":3,"title":"代码输出结果7","slug":"代码输出结果7","link":"#代码输出结果7","children":[]}]},{"level":2,"title":"问答题","slug":"问答题","link":"#问答题","children":[{"level":3,"title":"HTTP缓存的请求头与响应头有哪些","slug":"http缓存的请求头与响应头有哪些","link":"#http缓存的请求头与响应头有哪些","children":[]},{"level":3,"title":"宏任务与微任务有哪些区别?简述他们的应用场景","slug":"宏任务与微任务有哪些区别-简述他们的应用场景","link":"#宏任务与微任务有哪些区别-简述他们的应用场景","children":[]}]},{"level":2,"title":"算法","slug":"算法","link":"#算法","children":[]}],"relativePath":"article/【字节跳动】前端面试题总结.md","lastUpdated":1676979063000}'),p={name:"article/【字节跳动】前端面试题总结.md"},e=l("",36),o=[e];function r(c,t,i,y,D,C){return a(),n("div",null,o)}const d=s(p,[["render",r]]);export{A as __pageData,d as default};

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const A=JSON.parse('{"title":"【快手】深入理解前端面试题","description":"","frontmatter":{},"headers":[{"level":2,"title":"快手一面","slug":"快手一面","link":"#快手一面","children":[{"level":3,"title":"Vue生命周期","slug":"vue生命周期","link":"#vue生命周期","children":[]},{"level":3,"title":"网络请求一般在什么时候发起,为什么","slug":"网络请求一般在什么时候发起-为什么","link":"#网络请求一般在什么时候发起-为什么","children":[]},{"level":3,"title":"setup的执行时机相当于哪个生命周期","slug":"setup的执行时机相当于哪个生命周期","link":"#setup的执行时机相当于哪个生命周期","children":[]},{"level":3,"title":"Vue2和Vue3的响应式原理","slug":"vue2和vue3的响应式原理","link":"#vue2和vue3的响应式原理","children":[]},{"level":3,"title":"Proxy相比于defineProperty有何优势","slug":"proxy相比于defineproperty有何优势","link":"#proxy相比于defineproperty有何优势","children":[]},{"level":3,"title":"Vue3数据双向绑定原理","slug":"vue3数据双向绑定原理","link":"#vue3数据双向绑定原理","children":[]},{"level":3,"title":"ref与reactive区别与适用场景","slug":"ref与reactive区别与适用场景","link":"#ref与reactive区别与适用场景","children":[]},{"level":3,"title":"Vue3功能上相比于Vue2有哪些优点","slug":"vue3功能上相比于vue2有哪些优点","link":"#vue3功能上相比于vue2有哪些优点","children":[]},{"level":3,"title":"Vue组件传参方法","slug":"vue组件传参方法","link":"#vue组件传参方法","children":[]},{"level":3,"title":"Vuex异步操作如何同时修改多个state","slug":"vuex异步操作如何同时修改多个state","link":"#vuex异步操作如何同时修改多个state","children":[]},{"level":3,"title":"ES6特性了解哪些","slug":"es6特性了解哪些","link":"#es6特性了解哪些","children":[]},{"level":3,"title":"let & const的特性","slug":"let-const的特性","link":"#let-const的特性","children":[]},{"level":3,"title":"Promise介绍一下","slug":"promise介绍一下","link":"#promise介绍一下","children":[]},{"level":3,"title":"Promise.all .race .any功能及区别","slug":"promise-all-race-any功能及区别","link":"#promise-all-race-any功能及区别","children":[]},{"level":3,"title":"Promise看代码写结果","slug":"promise看代码写结果","link":"#promise看代码写结果","children":[]},{"level":3,"title":"手写Promise.all()","slug":"手写promise-all","link":"#手写promise-all","children":[]},{"level":3,"title":"Cookie localStorage SessionStorage区别及使用场景","slug":"cookie-localstorage-sessionstorage区别及使用场景","link":"#cookie-localstorage-sessionstorage区别及使用场景","children":[]},{"level":3,"title":"localStorage常用方法","slug":"localstorage常用方法","link":"#localstorage常用方法","children":[]},{"level":3,"title":"跨域解决方法","slug":"跨域解决方法","link":"#跨域解决方法","children":[]},{"level":3,"title":"介绍一下事件循环","slug":"介绍一下事件循环","link":"#介绍一下事件循环","children":[]},{"level":3,"title":"事件循环代码运行结果","slug":"事件循环代码运行结果","link":"#事件循环代码运行结果","children":[]},{"level":3,"title":"介绍一下Flex布局","slug":"介绍一下flex布局","link":"#介绍一下flex布局","children":[]}]},{"level":2,"title":"快手二面","slug":"快手二面","link":"#快手二面","children":[{"level":3,"title":"CSS主题切换方案","slug":"css主题切换方案","link":"#css主题切换方案","children":[]},{"level":3,"title":"Proxy与defineProperty实现数据劫持","slug":"proxy与defineproperty实现数据劫持","link":"#proxy与defineproperty实现数据劫持","children":[]},{"level":3,"title":"算法: 两数之和-修改版","slug":"算法-两数之和-修改版","link":"#算法-两数之和-修改版","children":[]}]}],"relativePath":"article/【快手】深入理解前端面试题.md","lastUpdated":1676737739000}'),p={name:"article/【快手】深入理解前端面试题.md"},e=l("",87),o=[e];function r(c,t,y,F,i,D){return n(),a("div",null,o)}const d=s(p,[["render",r]]);export{A as __pageData,d as default};
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const A=JSON.parse('{"title":"【快手】深入理解前端面试题","description":"","frontmatter":{},"headers":[{"level":2,"title":"快手一面","slug":"快手一面","link":"#快手一面","children":[{"level":3,"title":"Vue生命周期","slug":"vue生命周期","link":"#vue生命周期","children":[]},{"level":3,"title":"网络请求一般在什么时候发起,为什么","slug":"网络请求一般在什么时候发起-为什么","link":"#网络请求一般在什么时候发起-为什么","children":[]},{"level":3,"title":"setup的执行时机相当于哪个生命周期","slug":"setup的执行时机相当于哪个生命周期","link":"#setup的执行时机相当于哪个生命周期","children":[]},{"level":3,"title":"Vue2和Vue3的响应式原理","slug":"vue2和vue3的响应式原理","link":"#vue2和vue3的响应式原理","children":[]},{"level":3,"title":"Proxy相比于defineProperty有何优势","slug":"proxy相比于defineproperty有何优势","link":"#proxy相比于defineproperty有何优势","children":[]},{"level":3,"title":"Vue3数据双向绑定原理","slug":"vue3数据双向绑定原理","link":"#vue3数据双向绑定原理","children":[]},{"level":3,"title":"ref与reactive区别与适用场景","slug":"ref与reactive区别与适用场景","link":"#ref与reactive区别与适用场景","children":[]},{"level":3,"title":"Vue3功能上相比于Vue2有哪些优点","slug":"vue3功能上相比于vue2有哪些优点","link":"#vue3功能上相比于vue2有哪些优点","children":[]},{"level":3,"title":"Vue组件传参方法","slug":"vue组件传参方法","link":"#vue组件传参方法","children":[]},{"level":3,"title":"Vuex异步操作如何同时修改多个state","slug":"vuex异步操作如何同时修改多个state","link":"#vuex异步操作如何同时修改多个state","children":[]},{"level":3,"title":"ES6特性了解哪些","slug":"es6特性了解哪些","link":"#es6特性了解哪些","children":[]},{"level":3,"title":"let & const的特性","slug":"let-const的特性","link":"#let-const的特性","children":[]},{"level":3,"title":"Promise介绍一下","slug":"promise介绍一下","link":"#promise介绍一下","children":[]},{"level":3,"title":"Promise.all .race .any功能及区别","slug":"promise-all-race-any功能及区别","link":"#promise-all-race-any功能及区别","children":[]},{"level":3,"title":"Promise看代码写结果","slug":"promise看代码写结果","link":"#promise看代码写结果","children":[]},{"level":3,"title":"手写Promise.all()","slug":"手写promise-all","link":"#手写promise-all","children":[]},{"level":3,"title":"Cookie localStorage SessionStorage区别及使用场景","slug":"cookie-localstorage-sessionstorage区别及使用场景","link":"#cookie-localstorage-sessionstorage区别及使用场景","children":[]},{"level":3,"title":"localStorage常用方法","slug":"localstorage常用方法","link":"#localstorage常用方法","children":[]},{"level":3,"title":"跨域解决方法","slug":"跨域解决方法","link":"#跨域解决方法","children":[]},{"level":3,"title":"介绍一下事件循环","slug":"介绍一下事件循环","link":"#介绍一下事件循环","children":[]},{"level":3,"title":"事件循环代码运行结果","slug":"事件循环代码运行结果","link":"#事件循环代码运行结果","children":[]},{"level":3,"title":"介绍一下Flex布局","slug":"介绍一下flex布局","link":"#介绍一下flex布局","children":[]}]},{"level":2,"title":"快手二面","slug":"快手二面","link":"#快手二面","children":[{"level":3,"title":"CSS主题切换方案","slug":"css主题切换方案","link":"#css主题切换方案","children":[]},{"level":3,"title":"Proxy与defineProperty实现数据劫持","slug":"proxy与defineproperty实现数据劫持","link":"#proxy与defineproperty实现数据劫持","children":[]},{"level":3,"title":"算法: 两数之和-修改版","slug":"算法-两数之和-修改版","link":"#算法-两数之和-修改版","children":[]}]}],"relativePath":"article/【快手】深入理解前端面试题.md","lastUpdated":1676979063000}'),p={name:"article/【快手】深入理解前端面试题.md"},e=l("",87),o=[e];function r(c,t,y,F,i,D){return n(),a("div",null,o)}const d=s(p,[["render",r]]);export{A as __pageData,d as default};

View File

@ -1 +1 @@
import{_ as s,o as a,c as n,a as l}from"./app.33820b61.js";const D=JSON.parse('{"title":"【用友金融】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"回流与重绘","slug":"回流与重绘","link":"#回流与重绘","children":[]},{"level":2,"title":"CSS属性","slug":"css属性","link":"#css属性","children":[]},{"level":2,"title":"函数执行结果","slug":"函数执行结果","link":"#函数执行结果","children":[{"level":3,"title":"题目1","slug":"题目1","link":"#题目1","children":[]},{"level":3,"title":"题目2","slug":"题目2","link":"#题目2","children":[]},{"level":3,"title":"题目3","slug":"题目3","link":"#题目3","children":[]},{"level":3,"title":"题目4","slug":"题目4","link":"#题目4","children":[]},{"level":3,"title":"题目5","slug":"题目5","link":"#题目5","children":[]},{"level":3,"title":"题目6","slug":"题目6","link":"#题目6","children":[]},{"level":3,"title":"题目7","slug":"题目7","link":"#题目7","children":[]},{"level":3,"title":"题目8","slug":"题目8","link":"#题目8","children":[]}]},{"level":2,"title":"CSS权重的优先级","slug":"css权重的优先级","link":"#css权重的优先级","children":[]},{"level":2,"title":"HTTP状态码","slug":"http状态码","link":"#http状态码","children":[]},{"level":2,"title":"BFC(块级格式上下文)","slug":"bfc-块级格式上下文","link":"#bfc-块级格式上下文","children":[]},{"level":2,"title":"元素浮动","slug":"元素浮动","link":"#元素浮动","children":[]},{"level":2,"title":"HTTP请求方法","slug":"http请求方法","link":"#http请求方法","children":[]},{"level":2,"title":"跨域问题","slug":"跨域问题","link":"#跨域问题","children":[]},{"level":2,"title":"了解Webpack的哪些配置项","slug":"了解webpack的哪些配置项","link":"#了解webpack的哪些配置项","children":[]},{"level":2,"title":"判断变量类型","slug":"判断变量类型","link":"#判断变量类型","children":[]},{"level":2,"title":"JS浮点数相加精度问题","slug":"js浮点数相加精度问题","link":"#js浮点数相加精度问题","children":[]},{"level":2,"title":"简单讲讲Vue Router原理","slug":"简单讲讲vue-router原理","link":"#简单讲讲vue-router原理","children":[]},{"level":2,"title":"ES6熟悉吗","slug":"es6熟悉吗","link":"#es6熟悉吗","children":[]},{"level":2,"title":"CSS如何实现水平居中与垂直居中","slug":"css如何实现水平居中与垂直居中","link":"#css如何实现水平居中与垂直居中","children":[]}],"relativePath":"article/【用友金融】前端面试题总结.md","lastUpdated":1676737739000}'),e={name:"article/【用友金融】前端面试题总结.md"},p=l("",71),o=[p];function r(c,t,i,d,y,C){return a(),n("div",null,o)}const F=s(e,[["render",r]]);export{D as __pageData,F as default};
import{_ as s,o as a,c as n,a as l}from"./app.33820b61.js";const D=JSON.parse('{"title":"【用友金融】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"回流与重绘","slug":"回流与重绘","link":"#回流与重绘","children":[]},{"level":2,"title":"CSS属性","slug":"css属性","link":"#css属性","children":[]},{"level":2,"title":"函数执行结果","slug":"函数执行结果","link":"#函数执行结果","children":[{"level":3,"title":"题目1","slug":"题目1","link":"#题目1","children":[]},{"level":3,"title":"题目2","slug":"题目2","link":"#题目2","children":[]},{"level":3,"title":"题目3","slug":"题目3","link":"#题目3","children":[]},{"level":3,"title":"题目4","slug":"题目4","link":"#题目4","children":[]},{"level":3,"title":"题目5","slug":"题目5","link":"#题目5","children":[]},{"level":3,"title":"题目6","slug":"题目6","link":"#题目6","children":[]},{"level":3,"title":"题目7","slug":"题目7","link":"#题目7","children":[]},{"level":3,"title":"题目8","slug":"题目8","link":"#题目8","children":[]}]},{"level":2,"title":"CSS权重的优先级","slug":"css权重的优先级","link":"#css权重的优先级","children":[]},{"level":2,"title":"HTTP状态码","slug":"http状态码","link":"#http状态码","children":[]},{"level":2,"title":"BFC(块级格式上下文)","slug":"bfc-块级格式上下文","link":"#bfc-块级格式上下文","children":[]},{"level":2,"title":"元素浮动","slug":"元素浮动","link":"#元素浮动","children":[]},{"level":2,"title":"HTTP请求方法","slug":"http请求方法","link":"#http请求方法","children":[]},{"level":2,"title":"跨域问题","slug":"跨域问题","link":"#跨域问题","children":[]},{"level":2,"title":"了解Webpack的哪些配置项","slug":"了解webpack的哪些配置项","link":"#了解webpack的哪些配置项","children":[]},{"level":2,"title":"判断变量类型","slug":"判断变量类型","link":"#判断变量类型","children":[]},{"level":2,"title":"JS浮点数相加精度问题","slug":"js浮点数相加精度问题","link":"#js浮点数相加精度问题","children":[]},{"level":2,"title":"简单讲讲Vue Router原理","slug":"简单讲讲vue-router原理","link":"#简单讲讲vue-router原理","children":[]},{"level":2,"title":"ES6熟悉吗","slug":"es6熟悉吗","link":"#es6熟悉吗","children":[]},{"level":2,"title":"CSS如何实现水平居中与垂直居中","slug":"css如何实现水平居中与垂直居中","link":"#css如何实现水平居中与垂直居中","children":[]}],"relativePath":"article/【用友金融】前端面试题总结.md","lastUpdated":1676979063000}'),e={name:"article/【用友金融】前端面试题总结.md"},p=l("",71),o=[p];function r(c,t,i,d,y,C){return a(),n("div",null,o)}const F=s(e,[["render",r]]);export{D as __pageData,F as default};

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as e}from"./app.33820b61.js";const u=JSON.parse('{"title":"一文读懂事件冒泡与事件捕获","description":"","frontmatter":{},"headers":[{"level":2,"title":"💡 从例子入手","slug":"💡-从例子入手","link":"#💡-从例子入手","children":[]},{"level":2,"title":"🤔 什么是事件冒泡机制?事件捕获又是什么?","slug":"🤔-什么是事件冒泡机制-事件捕获又是什么","link":"#🤔-什么是事件冒泡机制-事件捕获又是什么","children":[{"level":3,"title":"📌 用例子验证结论","slug":"📌-用例子验证结论","link":"#📌-用例子验证结论","children":[]}]},{"level":2,"title":"🧐 为什么有两个阶段?它们有什么用?","slug":"🧐-为什么有两个阶段-它们有什么用","link":"#🧐-为什么有两个阶段-它们有什么用","children":[{"level":3,"title":"📌 历史渊源","slug":"📌-历史渊源","link":"#📌-历史渊源","children":[]},{"level":3,"title":"📌 事件代理 (Event delegation)","slug":"📌-事件代理-event-delegation","link":"#📌-事件代理-event-delegation","children":[]},{"level":3,"title":"📌 事件对象中的target与currentTarget","slug":"📌-事件对象中的target与currenttarget","link":"#📌-事件对象中的target与currenttarget","children":[]}]},{"level":2,"title":"🥳 如何阻止事件冒泡?","slug":"🥳-如何阻止事件冒泡","link":"#🥳-如何阻止事件冒泡","children":[{"level":3,"title":"📌 .stopPropagation()","slug":"📌-stoppropagation","link":"#📌-stoppropagation","children":[]},{"level":3,"title":"📌 e.target == e.currentTarget","slug":"📌-e-target-e-currenttarget","link":"#📌-e-target-e-currenttarget","children":[]},{"level":3,"title":"📌 return false","slug":"📌-return-false","link":"#📌-return-false","children":[]}]},{"level":2,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}],"relativePath":"article/一文读懂事件冒泡与事件捕获.md","lastUpdated":1676737739000}'),l={name:"article/一文读懂事件冒泡与事件捕获.md"},p=e("",63),o=[p];function t(r,c,i,d,D,y){return n(),a("div",null,o)}const C=s(l,[["render",t]]);export{u as __pageData,C as default};
import{_ as s,o as n,c as a,a as e}from"./app.33820b61.js";const u=JSON.parse('{"title":"一文读懂事件冒泡与事件捕获","description":"","frontmatter":{},"headers":[{"level":2,"title":"💡 从例子入手","slug":"💡-从例子入手","link":"#💡-从例子入手","children":[]},{"level":2,"title":"🤔 什么是事件冒泡机制?事件捕获又是什么?","slug":"🤔-什么是事件冒泡机制-事件捕获又是什么","link":"#🤔-什么是事件冒泡机制-事件捕获又是什么","children":[{"level":3,"title":"📌 用例子验证结论","slug":"📌-用例子验证结论","link":"#📌-用例子验证结论","children":[]}]},{"level":2,"title":"🧐 为什么有两个阶段?它们有什么用?","slug":"🧐-为什么有两个阶段-它们有什么用","link":"#🧐-为什么有两个阶段-它们有什么用","children":[{"level":3,"title":"📌 历史渊源","slug":"📌-历史渊源","link":"#📌-历史渊源","children":[]},{"level":3,"title":"📌 事件代理 (Event delegation)","slug":"📌-事件代理-event-delegation","link":"#📌-事件代理-event-delegation","children":[]},{"level":3,"title":"📌 事件对象中的target与currentTarget","slug":"📌-事件对象中的target与currenttarget","link":"#📌-事件对象中的target与currenttarget","children":[]}]},{"level":2,"title":"🥳 如何阻止事件冒泡?","slug":"🥳-如何阻止事件冒泡","link":"#🥳-如何阻止事件冒泡","children":[{"level":3,"title":"📌 .stopPropagation()","slug":"📌-stoppropagation","link":"#📌-stoppropagation","children":[]},{"level":3,"title":"📌 e.target == e.currentTarget","slug":"📌-e-target-e-currenttarget","link":"#📌-e-target-e-currenttarget","children":[]},{"level":3,"title":"📌 return false","slug":"📌-return-false","link":"#📌-return-false","children":[]}]},{"level":2,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}],"relativePath":"article/一文读懂事件冒泡与事件捕获.md","lastUpdated":1676979063000}'),l={name:"article/一文读懂事件冒泡与事件捕获.md"},p=e("",63),o=[p];function t(r,c,i,d,D,y){return n(),a("div",null,o)}const C=s(l,[["render",t]]);export{u as __pageData,C as default};

View File

@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const d=JSON.parse('{"title":"一文读懂伪类与伪元素","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 什么是伪类?","slug":"🔰-什么是伪类","link":"#🔰-什么是伪类","children":[{"level":3,"title":"典型的伪类关键字","slug":"典型的伪类关键字","link":"#典型的伪类关键字","children":[]},{"level":3,"title":"单独使用的伪类关键字","slug":"单独使用的伪类关键字","link":"#单独使用的伪类关键字","children":[]}]},{"level":2,"title":"🔰 什么是伪元素?","slug":"🔰-什么是伪元素","link":"#🔰-什么是伪元素","children":[]},{"level":2,"title":"📌 伪类与伪元素共同使用","slug":"📌-伪类与伪元素共同使用","link":"#📌-伪类与伪元素共同使用","children":[{"level":3,"title":"题目解读","slug":"题目解读","link":"#题目解读","children":[]},{"level":3,"title":"实现代码","slug":"实现代码","link":"#实现代码","children":[]},{"level":3,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}]}],"relativePath":"article/一文读懂伪类与伪元素.md","lastUpdated":1676737739000}'),p={name:"article/一文读懂伪类与伪元素.md"},e=l(`<h1 id="一文读懂伪类与伪元素" tabindex="-1">一文读懂伪类与伪元素 <a class="header-anchor" href="#一文读懂伪类与伪元素" aria-hidden="true">#</a></h1><h2 id="🔰-什么是伪类" tabindex="-1">🔰 什么是伪类? <a class="header-anchor" href="#🔰-什么是伪类" aria-hidden="true">#</a></h2><p>伪类是添加到选择器的 <strong>关键字</strong> ,指定要选择的元素的特殊状态。</p><h3 id="典型的伪类关键字" tabindex="-1">典型的伪类关键字 <a class="header-anchor" href="#典型的伪类关键字" aria-hidden="true">#</a></h3><p>在大多数情况下,<strong>伪类都与基础选择器搭配使用</strong>,下述是伪类在一些典型场景下的应用。</p><h4 id="hover" tabindex="-1"><code>:hover</code> <a class="header-anchor" href="#hover" aria-hidden="true">#</a></h4><p>指针在 <code>&lt;button&gt;</code> 上悬停,但没有激活它时,按钮颜色变为蓝色</p><div class="language-css line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">css</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">button</span><span style="color:#89DDFF;">:</span><span style="color:#C792EA;">hover</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const d=JSON.parse('{"title":"一文读懂伪类与伪元素","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 什么是伪类?","slug":"🔰-什么是伪类","link":"#🔰-什么是伪类","children":[{"level":3,"title":"典型的伪类关键字","slug":"典型的伪类关键字","link":"#典型的伪类关键字","children":[]},{"level":3,"title":"单独使用的伪类关键字","slug":"单独使用的伪类关键字","link":"#单独使用的伪类关键字","children":[]}]},{"level":2,"title":"🔰 什么是伪元素?","slug":"🔰-什么是伪元素","link":"#🔰-什么是伪元素","children":[]},{"level":2,"title":"📌 伪类与伪元素共同使用","slug":"📌-伪类与伪元素共同使用","link":"#📌-伪类与伪元素共同使用","children":[{"level":3,"title":"题目解读","slug":"题目解读","link":"#题目解读","children":[]},{"level":3,"title":"实现代码","slug":"实现代码","link":"#实现代码","children":[]},{"level":3,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}]}],"relativePath":"article/一文读懂伪类与伪元素.md","lastUpdated":1676979063000}'),p={name:"article/一文读懂伪类与伪元素.md"},e=l(`<h1 id="一文读懂伪类与伪元素" tabindex="-1">一文读懂伪类与伪元素 <a class="header-anchor" href="#一文读懂伪类与伪元素" aria-hidden="true">#</a></h1><h2 id="🔰-什么是伪类" tabindex="-1">🔰 什么是伪类? <a class="header-anchor" href="#🔰-什么是伪类" aria-hidden="true">#</a></h2><p>伪类是添加到选择器的 <strong>关键字</strong> ,指定要选择的元素的特殊状态。</p><h3 id="典型的伪类关键字" tabindex="-1">典型的伪类关键字 <a class="header-anchor" href="#典型的伪类关键字" aria-hidden="true">#</a></h3><p>在大多数情况下,<strong>伪类都与基础选择器搭配使用</strong>,下述是伪类在一些典型场景下的应用。</p><h4 id="hover" tabindex="-1"><code>:hover</code> <a class="header-anchor" href="#hover" aria-hidden="true">#</a></h4><p>指针在 <code>&lt;button&gt;</code> 上悬停,但没有激活它时,按钮颜色变为蓝色</p><div class="language-css line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">css</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">button</span><span style="color:#89DDFF;">:</span><span style="color:#C792EA;">hover</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#B2CCD6;">color</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> blue</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><blockquote><p><strong></strong>:  <code>:hover</code> <code>:hover</code> 使</p></blockquote><h4 id="not" tabindex="-1"><code>:not</code> <a class="header-anchor" href="#not" aria-hidden="true">#</a></h4><p><strong><code>:not()</code></strong> <em></em><em>negation pseudo-class</em></p><p><code>&lt;p&gt;</code></p><div class="language-css line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">css</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">body</span><span style="color:#89DDFF;">:</span><span style="color:#C792EA;">not</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">p</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const d=JSON.parse('{"title":"一文读懂伪类与伪元素","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 什么是伪类?","slug":"🔰-什么是伪类","link":"#🔰-什么是伪类","children":[{"level":3,"title":"典型的伪类关键字","slug":"典型的伪类关键字","link":"#典型的伪类关键字","children":[]},{"level":3,"title":"单独使用的伪类关键字","slug":"单独使用的伪类关键字","link":"#单独使用的伪类关键字","children":[]}]},{"level":2,"title":"🔰 什么是伪元素?","slug":"🔰-什么是伪元素","link":"#🔰-什么是伪元素","children":[]},{"level":2,"title":"📌 伪类与伪元素共同使用","slug":"📌-伪类与伪元素共同使用","link":"#📌-伪类与伪元素共同使用","children":[{"level":3,"title":"题目解读","slug":"题目解读","link":"#题目解读","children":[]},{"level":3,"title":"实现代码","slug":"实现代码","link":"#实现代码","children":[]},{"level":3,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}]}],"relativePath":"article/一文读懂伪类与伪元素.md","lastUpdated":1676737739000}'),p={name:"article/一文读懂伪类与伪元素.md"},e=l("",56),o=[e];function c(r,t,i,D,y,C){return n(),a("div",null,o)}const b=s(p,[["render",c]]);export{d as __pageData,b as default};
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const d=JSON.parse('{"title":"一文读懂伪类与伪元素","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 什么是伪类?","slug":"🔰-什么是伪类","link":"#🔰-什么是伪类","children":[{"level":3,"title":"典型的伪类关键字","slug":"典型的伪类关键字","link":"#典型的伪类关键字","children":[]},{"level":3,"title":"单独使用的伪类关键字","slug":"单独使用的伪类关键字","link":"#单独使用的伪类关键字","children":[]}]},{"level":2,"title":"🔰 什么是伪元素?","slug":"🔰-什么是伪元素","link":"#🔰-什么是伪元素","children":[]},{"level":2,"title":"📌 伪类与伪元素共同使用","slug":"📌-伪类与伪元素共同使用","link":"#📌-伪类与伪元素共同使用","children":[{"level":3,"title":"题目解读","slug":"题目解读","link":"#题目解读","children":[]},{"level":3,"title":"实现代码","slug":"实现代码","link":"#实现代码","children":[]},{"level":3,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}]}],"relativePath":"article/一文读懂伪类与伪元素.md","lastUpdated":1676979063000}'),p={name:"article/一文读懂伪类与伪元素.md"},e=l("",56),o=[e];function c(r,t,i,D,y,C){return n(),a("div",null,o)}const b=s(p,[["render",c]]);export{d as __pageData,b as default};

View File

@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const u=JSON.parse('{"title":"一文读懂函数中this指向问题","description":"","frontmatter":{},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[]},{"level":2,"title":"如何改变this的指向","slug":"如何改变this的指向","link":"#如何改变this的指向","children":[{"level":3,"title":"new 实例化一个函数","slug":"new-实例化一个函数","link":"#new-实例化一个函数","children":[]},{"level":3,"title":"使用 call apply bind","slug":"使用-call-apply-bind","link":"#使用-call-apply-bind","children":[]}]},{"level":2,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[{"level":3,"title":"箭头函数中的this","slug":"箭头函数中的this","link":"#箭头函数中的this","children":[]},{"level":3,"title":"箭头函数中this的查找规则","slug":"箭头函数中this的查找规则","link":"#箭头函数中this的查找规则","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]}]},{"level":2,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}],"relativePath":"article/一文读懂函数中this指向问题.md","lastUpdated":1676737739000}'),e={name:"article/一文读懂函数中this指向问题.md"},p=l(`<h1 id="一文读懂函数中this指向问题" tabindex="-1">一文读懂函数中this指向问题 <a class="header-anchor" href="#一文读懂函数中this指向问题" aria-hidden="true">#</a></h1><h2 id="函数中this指向" tabindex="-1">函数中this指向 <a class="header-anchor" href="#函数中this指向" aria-hidden="true">#</a></h2><p>函数在调用时, Javascript会默认为this绑定一个值</p><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">// 定义一个函数</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const u=JSON.parse('{"title":"一文读懂函数中this指向问题","description":"","frontmatter":{},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[]},{"level":2,"title":"如何改变this的指向","slug":"如何改变this的指向","link":"#如何改变this的指向","children":[{"level":3,"title":"new 实例化一个函数","slug":"new-实例化一个函数","link":"#new-实例化一个函数","children":[]},{"level":3,"title":"使用 call apply bind","slug":"使用-call-apply-bind","link":"#使用-call-apply-bind","children":[]}]},{"level":2,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[{"level":3,"title":"箭头函数中的this","slug":"箭头函数中的this","link":"#箭头函数中的this","children":[]},{"level":3,"title":"箭头函数中this的查找规则","slug":"箭头函数中this的查找规则","link":"#箭头函数中this的查找规则","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]}]},{"level":2,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}],"relativePath":"article/一文读懂函数中this指向问题.md","lastUpdated":1676979063000}'),e={name:"article/一文读懂函数中this指向问题.md"},p=l(`<h1 id="一文读懂函数中this指向问题" tabindex="-1">一文读懂函数中this指向问题 <a class="header-anchor" href="#一文读懂函数中this指向问题" aria-hidden="true">#</a></h1><h2 id="函数中this指向" tabindex="-1">函数中this指向 <a class="header-anchor" href="#函数中this指向" aria-hidden="true">#</a></h2><p>函数在调用时, Javascript会默认为this绑定一个值</p><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">// 定义一个函数</span></span>
<span class="line"><span style="color:#A6ACCD;">function foo() {</span></span>
<span class="line"><span style="color:#A6ACCD;">  console.log(this)</span></span>
<span class="line"><span style="color:#A6ACCD;">}</span></span>

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const u=JSON.parse('{"title":"一文读懂函数中this指向问题","description":"","frontmatter":{},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[]},{"level":2,"title":"如何改变this的指向","slug":"如何改变this的指向","link":"#如何改变this的指向","children":[{"level":3,"title":"new 实例化一个函数","slug":"new-实例化一个函数","link":"#new-实例化一个函数","children":[]},{"level":3,"title":"使用 call apply bind","slug":"使用-call-apply-bind","link":"#使用-call-apply-bind","children":[]}]},{"level":2,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[{"level":3,"title":"箭头函数中的this","slug":"箭头函数中的this","link":"#箭头函数中的this","children":[]},{"level":3,"title":"箭头函数中this的查找规则","slug":"箭头函数中this的查找规则","link":"#箭头函数中this的查找规则","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]}]},{"level":2,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}],"relativePath":"article/一文读懂函数中this指向问题.md","lastUpdated":1676737739000}'),e={name:"article/一文读懂函数中this指向问题.md"},p=l("",59),o=[p];function c(i,r,t,b,C,d){return n(),a("div",null,o)}const m=s(e,[["render",c]]);export{u as __pageData,m as default};
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const u=JSON.parse('{"title":"一文读懂函数中this指向问题","description":"","frontmatter":{},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[]},{"level":2,"title":"如何改变this的指向","slug":"如何改变this的指向","link":"#如何改变this的指向","children":[{"level":3,"title":"new 实例化一个函数","slug":"new-实例化一个函数","link":"#new-实例化一个函数","children":[]},{"level":3,"title":"使用 call apply bind","slug":"使用-call-apply-bind","link":"#使用-call-apply-bind","children":[]}]},{"level":2,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[{"level":3,"title":"箭头函数中的this","slug":"箭头函数中的this","link":"#箭头函数中的this","children":[]},{"level":3,"title":"箭头函数中this的查找规则","slug":"箭头函数中this的查找规则","link":"#箭头函数中this的查找规则","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]}]},{"level":2,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}],"relativePath":"article/一文读懂函数中this指向问题.md","lastUpdated":1676979063000}'),e={name:"article/一文读懂函数中this指向问题.md"},p=l("",59),o=[p];function c(i,r,t,b,C,d){return n(),a("div",null,o)}const m=s(e,[["render",c]]);export{u as __pageData,m as default};

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const u=JSON.parse('{"title":"从0实现一个年度报告","description":"","frontmatter":{},"headers":[{"level":2,"title":"实现难点","slug":"实现难点","link":"#实现难点","children":[{"level":3,"title":"1. 数据模拟","slug":"_1-数据模拟","link":"#_1-数据模拟","children":[]},{"level":3,"title":"2. 屏幕适配","slug":"_2-屏幕适配","link":"#_2-屏幕适配","children":[]},{"level":3,"title":"3. 动画效果","slug":"_3-动画效果","link":"#_3-动画效果","children":[]},{"level":3,"title":"4. 音乐播放","slug":"_4-音乐播放","link":"#_4-音乐播放","children":[]}]},{"level":2,"title":"用户数据","slug":"用户数据","link":"#用户数据","children":[{"level":3,"title":"用户数据内容","slug":"用户数据内容","link":"#用户数据内容","children":[]},{"level":3,"title":"数据模拟","slug":"数据模拟","link":"#数据模拟","children":[]}]},{"level":2,"title":"编码中遇到的问题","slug":"编码中遇到的问题","link":"#编码中遇到的问题","children":[{"level":3,"title":"音乐自动播放的问题","slug":"音乐自动播放的问题","link":"#音乐自动播放的问题","children":[]},{"level":3,"title":"VNode调整样式的问题","slug":"vnode调整样式的问题","link":"#vnode调整样式的问题","children":[]},{"level":3,"title":"监听Animation结束事件并更新响应式变量","slug":"监听animation结束事件并更新响应式变量","link":"#监听animation结束事件并更新响应式变量","children":[]},{"level":3,"title":"切换页面支持触控滑动滚轮键盘","slug":"切换页面支持触控滑动滚轮键盘","link":"#切换页面支持触控滑动滚轮键盘","children":[]},{"level":3,"title":"代码打包","slug":"代码打包","link":"#代码打包","children":[]}]},{"level":2,"title":"技术介绍","slug":"技术介绍","link":"#技术介绍","children":[]},{"level":2,"title":"功能介绍","slug":"功能介绍","link":"#功能介绍","children":[]},{"level":2,"title":"Demo展示","slug":"demo展示","link":"#demo展示","children":[]}],"relativePath":"article/从0实现一个年度报告.md","lastUpdated":1676737739000}'),p={name:"article/从0实现一个年度报告.md"},o=l("",59),e=[o];function t(c,r,F,D,y,i){return n(),a("div",null,e)}const d=s(p,[["render",t]]);export{u as __pageData,d as default};
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const u=JSON.parse('{"title":"从0实现一个年度报告","description":"","frontmatter":{},"headers":[{"level":2,"title":"实现难点","slug":"实现难点","link":"#实现难点","children":[{"level":3,"title":"1. 数据模拟","slug":"_1-数据模拟","link":"#_1-数据模拟","children":[]},{"level":3,"title":"2. 屏幕适配","slug":"_2-屏幕适配","link":"#_2-屏幕适配","children":[]},{"level":3,"title":"3. 动画效果","slug":"_3-动画效果","link":"#_3-动画效果","children":[]},{"level":3,"title":"4. 音乐播放","slug":"_4-音乐播放","link":"#_4-音乐播放","children":[]}]},{"level":2,"title":"用户数据","slug":"用户数据","link":"#用户数据","children":[{"level":3,"title":"用户数据内容","slug":"用户数据内容","link":"#用户数据内容","children":[]},{"level":3,"title":"数据模拟","slug":"数据模拟","link":"#数据模拟","children":[]}]},{"level":2,"title":"编码中遇到的问题","slug":"编码中遇到的问题","link":"#编码中遇到的问题","children":[{"level":3,"title":"音乐自动播放的问题","slug":"音乐自动播放的问题","link":"#音乐自动播放的问题","children":[]},{"level":3,"title":"VNode调整样式的问题","slug":"vnode调整样式的问题","link":"#vnode调整样式的问题","children":[]},{"level":3,"title":"监听Animation结束事件并更新响应式变量","slug":"监听animation结束事件并更新响应式变量","link":"#监听animation结束事件并更新响应式变量","children":[]},{"level":3,"title":"切换页面支持触控滑动滚轮键盘","slug":"切换页面支持触控滑动滚轮键盘","link":"#切换页面支持触控滑动滚轮键盘","children":[]},{"level":3,"title":"代码打包","slug":"代码打包","link":"#代码打包","children":[]}]},{"level":2,"title":"技术介绍","slug":"技术介绍","link":"#技术介绍","children":[]},{"level":2,"title":"功能介绍","slug":"功能介绍","link":"#功能介绍","children":[]},{"level":2,"title":"Demo展示","slug":"demo展示","link":"#demo展示","children":[]}],"relativePath":"article/从0实现一个年度报告.md","lastUpdated":1676979063000}'),p={name:"article/从0实现一个年度报告.md"},o=l("",59),e=[o];function t(c,r,F,D,y,i){return n(),a("div",null,e)}const d=s(p,[["render",t]]);export{u as __pageData,d as default};

View File

@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const C=JSON.parse('{"title":"彻底搞懂对象的数据属性描述符、存储属性描述符","description":"","frontmatter":{},"headers":[{"level":2,"title":"属性描述符","slug":"属性描述符","link":"#属性描述符","children":[{"level":3,"title":"数据属性描述符","slug":"数据属性描述符","link":"#数据属性描述符","children":[]},{"level":3,"title":"存储属性描述符","slug":"存储属性描述符","link":"#存储属性描述符","children":[]},{"level":3,"title":"应用场景","slug":"应用场景","link":"#应用场景","children":[]}]}],"relativePath":"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md","lastUpdated":1676737739000}'),p={name:"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md"},o=l(`<h1 id="彻底搞懂对象的数据属性描述符、存储属性描述符" tabindex="-1">彻底搞懂对象的数据属性描述符、存储属性描述符 <a class="header-anchor" href="#彻底搞懂对象的数据属性描述符、存储属性描述符" aria-hidden="true">#</a></h1><h2 id="属性描述符" tabindex="-1">属性描述符 <a class="header-anchor" href="#属性描述符" aria-hidden="true">#</a></h2><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">let</span><span style="color:#A6ACCD;"> obj </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const C=JSON.parse('{"title":"彻底搞懂对象的数据属性描述符、存储属性描述符","description":"","frontmatter":{},"headers":[{"level":2,"title":"属性描述符","slug":"属性描述符","link":"#属性描述符","children":[{"level":3,"title":"数据属性描述符","slug":"数据属性描述符","link":"#数据属性描述符","children":[]},{"level":3,"title":"存储属性描述符","slug":"存储属性描述符","link":"#存储属性描述符","children":[]},{"level":3,"title":"应用场景","slug":"应用场景","link":"#应用场景","children":[]}]}],"relativePath":"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md","lastUpdated":1676979063000}'),p={name:"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md"},o=l(`<h1 id="彻底搞懂对象的数据属性描述符、存储属性描述符" tabindex="-1">彻底搞懂对象的数据属性描述符、存储属性描述符 <a class="header-anchor" href="#彻底搞懂对象的数据属性描述符、存储属性描述符" aria-hidden="true">#</a></h1><h2 id="属性描述符" tabindex="-1">属性描述符 <a class="header-anchor" href="#属性描述符" aria-hidden="true">#</a></h2><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">let</span><span style="color:#A6ACCD;"> obj </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">name</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">ziu</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">age</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">18</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">}</span></span>

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const C=JSON.parse('{"title":"彻底搞懂对象的数据属性描述符、存储属性描述符","description":"","frontmatter":{},"headers":[{"level":2,"title":"属性描述符","slug":"属性描述符","link":"#属性描述符","children":[{"level":3,"title":"数据属性描述符","slug":"数据属性描述符","link":"#数据属性描述符","children":[]},{"level":3,"title":"存储属性描述符","slug":"存储属性描述符","link":"#存储属性描述符","children":[]},{"level":3,"title":"应用场景","slug":"应用场景","link":"#应用场景","children":[]}]}],"relativePath":"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md","lastUpdated":1676737739000}'),p={name:"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md"},o=l("",18),e=[o];function c(t,r,D,y,F,i){return n(),a("div",null,e)}const d=s(p,[["render",c]]);export{C as __pageData,d as default};
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const C=JSON.parse('{"title":"彻底搞懂对象的数据属性描述符、存储属性描述符","description":"","frontmatter":{},"headers":[{"level":2,"title":"属性描述符","slug":"属性描述符","link":"#属性描述符","children":[{"level":3,"title":"数据属性描述符","slug":"数据属性描述符","link":"#数据属性描述符","children":[]},{"level":3,"title":"存储属性描述符","slug":"存储属性描述符","link":"#存储属性描述符","children":[]},{"level":3,"title":"应用场景","slug":"应用场景","link":"#应用场景","children":[]}]}],"relativePath":"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md","lastUpdated":1676979063000}'),p={name:"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md"},o=l("",18),e=[o];function c(t,r,D,y,F,i){return n(),a("div",null,e)}const d=s(p,[["render",c]]);export{C as __pageData,d as default};

View File

@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as e}from"./app.33820b61.js";const C=JSON.parse('{"title":"浅析defineProperty与Proxy实现的双向绑定","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 Vue2的响应式原理","slug":"🔰-vue2的响应式原理","link":"#🔰-vue2的响应式原理","children":[]},{"level":2,"title":"🔰 Vue3的响应式原理","slug":"🔰-vue3的响应式原理","link":"#🔰-vue3的响应式原理","children":[]}],"relativePath":"article/浅析defineProperty与Proxy实现的双向绑定.md","lastUpdated":1676737739000}'),l={name:"article/浅析defineProperty与Proxy实现的双向绑定.md"},p=e(`<h1 id="浅析defineproperty与proxy实现的双向绑定" tabindex="-1">浅析defineProperty与Proxy实现的双向绑定 <a class="header-anchor" href="#浅析defineproperty与proxy实现的双向绑定" aria-hidden="true">#</a></h1><blockquote><p>文章内容总结自Vue官网 <a href="https://cn.vuejs.org/v2/guide/reactivity.html#%E5%A6%82%E4%BD%95%E8%BF%BD%E8%B8%AA%E5%8F%98%E5%8C%96" target="_blank" rel="noreferrer">深入响应式原理</a></p></blockquote><h2 id="🔰-vue2的响应式原理" tabindex="-1">🔰 Vue2的响应式原理 <a class="header-anchor" href="#🔰-vue2的响应式原理" aria-hidden="true">#</a></h2><p><img src="https://v2.cn.vuejs.org/images/data.png" alt="image.png"></p><blockquote><p>当你把一个普通的 JavaScript 对象传入 Vue 实例作为 <code>data</code> 选项Vue 将遍历此对象所有的 property并使用 <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty" target="_blank" rel="noreferrer"><code>Object.defineProperty</code></a> 把这些 property 全部转为 <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Working_with_Objects#%E5%AE%9A%E4%B9%89_getters_%E4%B8%8E_setters" target="_blank" rel="noreferrer">getter/setter</a>。</p><p>每个组件实例都对应一个 <strong>watcher</strong> 实例,它会在组件渲染的过程中把“接触”过的数据 property 记录为依赖。之后当依赖项的 setter 触发时,会通知 watcher从而使它关联的组件重新渲染。</p></blockquote><p>Vue2的响应式原理利用的是 <code>Object.defineProperty()</code> 的 <code>setter</code> 属性:</p><p><code>defineProperty()</code> 方法用于<strong>精确</strong>定义一个对象的属性,能够指定属性的各种特征,其中的 <code>set</code> 属性能够为对象指定一个 <code>setter</code> 函数,每次该属性的值发生修改,就会调用此函数。</p><blockquote><p>更多可以配置的属性请参看:<a href="https://juejin.cn/post/7088335075061792782" target="_blank" rel="noreferrer">什么是对象的数据属性描述符?存储属性描述符?</a></p></blockquote><p>这也是Vue2实现响应式数据、数据双向绑定的原理。</p><p>可以使用此方法实现一个简单的数据双向绑定的Demo</p><p><img src="https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f241135dbeb04e829fe6897c2e418aa2~tplv-k3u1fbpfcp-watermark.image?" alt="image.png"></p><ul><li>输入框内的内容改变,<code>.vBox</code> 展示的文本会随之改变。</li><li>点击按钮修改 <code>vm.text</code>,输入框内的值和 <code>.vBox</code> 的文本都会发生改变。</li></ul><div class="language-html line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">html</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">body</span><span style="color:#89DDFF;">&gt;</span></span>
import{_ as s,o as n,c as a,a as e}from"./app.33820b61.js";const C=JSON.parse('{"title":"浅析defineProperty与Proxy实现的双向绑定","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 Vue2的响应式原理","slug":"🔰-vue2的响应式原理","link":"#🔰-vue2的响应式原理","children":[]},{"level":2,"title":"🔰 Vue3的响应式原理","slug":"🔰-vue3的响应式原理","link":"#🔰-vue3的响应式原理","children":[]}],"relativePath":"article/浅析defineProperty与Proxy实现的双向绑定.md","lastUpdated":1676979063000}'),l={name:"article/浅析defineProperty与Proxy实现的双向绑定.md"},p=e(`<h1 id="浅析defineproperty与proxy实现的双向绑定" tabindex="-1">浅析defineProperty与Proxy实现的双向绑定 <a class="header-anchor" href="#浅析defineproperty与proxy实现的双向绑定" aria-hidden="true">#</a></h1><blockquote><p>文章内容总结自Vue官网 <a href="https://cn.vuejs.org/v2/guide/reactivity.html#%E5%A6%82%E4%BD%95%E8%BF%BD%E8%B8%AA%E5%8F%98%E5%8C%96" target="_blank" rel="noreferrer">深入响应式原理</a></p></blockquote><h2 id="🔰-vue2的响应式原理" tabindex="-1">🔰 Vue2的响应式原理 <a class="header-anchor" href="#🔰-vue2的响应式原理" aria-hidden="true">#</a></h2><p><img src="https://v2.cn.vuejs.org/images/data.png" alt="image.png"></p><blockquote><p>当你把一个普通的 JavaScript 对象传入 Vue 实例作为 <code>data</code> 选项Vue 将遍历此对象所有的 property并使用 <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty" target="_blank" rel="noreferrer"><code>Object.defineProperty</code></a> 把这些 property 全部转为 <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Working_with_Objects#%E5%AE%9A%E4%B9%89_getters_%E4%B8%8E_setters" target="_blank" rel="noreferrer">getter/setter</a>。</p><p>每个组件实例都对应一个 <strong>watcher</strong> 实例,它会在组件渲染的过程中把“接触”过的数据 property 记录为依赖。之后当依赖项的 setter 触发时,会通知 watcher从而使它关联的组件重新渲染。</p></blockquote><p>Vue2的响应式原理利用的是 <code>Object.defineProperty()</code> 的 <code>setter</code> 属性:</p><p><code>defineProperty()</code> 方法用于<strong>精确</strong>定义一个对象的属性,能够指定属性的各种特征,其中的 <code>set</code> 属性能够为对象指定一个 <code>setter</code> 函数,每次该属性的值发生修改,就会调用此函数。</p><blockquote><p>更多可以配置的属性请参看:<a href="https://juejin.cn/post/7088335075061792782" target="_blank" rel="noreferrer">什么是对象的数据属性描述符?存储属性描述符?</a></p></blockquote><p>这也是Vue2实现响应式数据、数据双向绑定的原理。</p><p>可以使用此方法实现一个简单的数据双向绑定的Demo</p><p><img src="https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f241135dbeb04e829fe6897c2e418aa2~tplv-k3u1fbpfcp-watermark.image?" alt="image.png"></p><ul><li>输入框内的内容改变,<code>.vBox</code> 展示的文本会随之改变。</li><li>点击按钮修改 <code>vm.text</code>,输入框内的值和 <code>.vBox</code> 的文本都会发生改变。</li></ul><div class="language-html line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">html</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">body</span><span style="color:#89DDFF;">&gt;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">input</span><span style="color:#89DDFF;"> </span><span style="color:#C792EA;">type</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">text</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;"> </span><span style="color:#C792EA;">id</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">input</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;"> /&gt;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">button</span><span style="color:#89DDFF;"> </span><span style="color:#C792EA;">onclick</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#A6ACCD;">vm</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">text</span><span style="color:#89DDFF;">=&#39;</span><span style="color:#C3E88D;">Hello, World.</span><span style="color:#89DDFF;">&#39;&quot;</span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;">Modify vm.text</span><span style="color:#89DDFF;">&lt;/</span><span style="color:#F07178;">button</span><span style="color:#89DDFF;">&gt;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">div</span><span style="color:#89DDFF;"> </span><span style="color:#C792EA;">class</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">vBox</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">&gt;&lt;/</span><span style="color:#F07178;">div</span><span style="color:#89DDFF;">&gt;</span></span>

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as e}from"./app.33820b61.js";const C=JSON.parse('{"title":"浅析defineProperty与Proxy实现的双向绑定","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 Vue2的响应式原理","slug":"🔰-vue2的响应式原理","link":"#🔰-vue2的响应式原理","children":[]},{"level":2,"title":"🔰 Vue3的响应式原理","slug":"🔰-vue3的响应式原理","link":"#🔰-vue3的响应式原理","children":[]}],"relativePath":"article/浅析defineProperty与Proxy实现的双向绑定.md","lastUpdated":1676737739000}'),l={name:"article/浅析defineProperty与Proxy实现的双向绑定.md"},p=e("",20),o=[p];function t(r,c,D,y,F,i){return n(),a("div",null,o)}const u=s(l,[["render",t]]);export{C as __pageData,u as default};
import{_ as s,o as n,c as a,a as e}from"./app.33820b61.js";const C=JSON.parse('{"title":"浅析defineProperty与Proxy实现的双向绑定","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 Vue2的响应式原理","slug":"🔰-vue2的响应式原理","link":"#🔰-vue2的响应式原理","children":[]},{"level":2,"title":"🔰 Vue3的响应式原理","slug":"🔰-vue3的响应式原理","link":"#🔰-vue3的响应式原理","children":[]}],"relativePath":"article/浅析defineProperty与Proxy实现的双向绑定.md","lastUpdated":1676979063000}'),l={name:"article/浅析defineProperty与Proxy实现的双向绑定.md"},p=e("",20),o=[p];function t(r,c,D,y,F,i){return n(),a("div",null,o)}const u=s(l,[["render",t]]);export{C as __pageData,u as default};

View File

@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const o="/assets/Object.prototype.toString.70e8308c.png",d=JSON.parse(`{"title":"","description":"","frontmatter":{},"headers":[{"level":2,"title":"深入JavaScript数据类型","slug":"深入javascript数据类型","link":"#深入javascript数据类型","children":[]},{"level":2,"title":"typeof运算符","slug":"typeof运算符","link":"#typeof运算符","children":[{"level":3,"title":"typeof null === 'object'","slug":"typeof-null-object","link":"#typeof-null-object","children":[]},{"level":3,"title":"关于new操作符","slug":"关于new操作符","link":"#关于new操作符","children":[]},{"level":3,"title":"字符串原始值和字符串对象","slug":"字符串原始值和字符串对象","link":"#字符串原始值和字符串对象","children":[]}]},{"level":2,"title":"包装类型","slug":"包装类型","link":"#包装类型","children":[]},{"level":2,"title":"使用toString检查对象类型","slug":"使用tostring检查对象类型","link":"#使用tostring检查对象类型","children":[{"level":3,"title":"核心原理","slug":"核心原理","link":"#核心原理","children":[]}]}],"relativePath":"article/深入JavaScript数据类型.md","lastUpdated":1676737739000}`),e={name:"article/深入JavaScript数据类型.md"},p=l(`<h2 id="深入javascript数据类型" tabindex="-1">深入JavaScript数据类型 <a class="header-anchor" href="#深入javascript数据类型" aria-hidden="true">#</a></h2><p>JavaScript包含以下几种数据类型</p><ul><li>Number 数字</li><li>String 字符串</li><li>Boolean 布尔值</li><li>Symbol 符号 ES6新增</li><li>Object 对象 <ul><li>Function 函数</li><li>Array 数组</li><li>Date 日期</li><li>RegExp 正则表达式</li><li>...</li></ul></li><li>null 空</li><li>undefined 未定义</li></ul><p>从语言底层值的可变与不可变可以将JS中的数据分为两种不可变值原始类型和可变值引用类型</p><p>除了Object及继承自Object的特殊对象其他的类型都为<strong>原始类型</strong>。</p><h2 id="typeof运算符" tabindex="-1">typeof运算符 <a class="header-anchor" href="#typeof运算符" aria-hidden="true">#</a></h2><p>除了null所有<strong>原始类型</strong>都可以通过<code>typeof</code>运算符得到不同的结果</p><p>而null与object通过<code>typeof</code>运算符得到的结果都为<code>&#39;object&#39;</code></p><div class="language-javascript line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#676E95;font-style:italic;">// 除了 null 其他原始类型的变量都可以通过 typeof 得到其类型</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const o="/assets/Object.prototype.toString.70e8308c.png",d=JSON.parse(`{"title":"","description":"","frontmatter":{},"headers":[{"level":2,"title":"深入JavaScript数据类型","slug":"深入javascript数据类型","link":"#深入javascript数据类型","children":[]},{"level":2,"title":"typeof运算符","slug":"typeof运算符","link":"#typeof运算符","children":[{"level":3,"title":"typeof null === 'object'","slug":"typeof-null-object","link":"#typeof-null-object","children":[]},{"level":3,"title":"关于new操作符","slug":"关于new操作符","link":"#关于new操作符","children":[]},{"level":3,"title":"字符串原始值和字符串对象","slug":"字符串原始值和字符串对象","link":"#字符串原始值和字符串对象","children":[]}]},{"level":2,"title":"包装类型","slug":"包装类型","link":"#包装类型","children":[]},{"level":2,"title":"使用toString检查对象类型","slug":"使用tostring检查对象类型","link":"#使用tostring检查对象类型","children":[{"level":3,"title":"核心原理","slug":"核心原理","link":"#核心原理","children":[]}]}],"relativePath":"article/深入JavaScript数据类型.md","lastUpdated":1676979063000}`),e={name:"article/深入JavaScript数据类型.md"},p=l(`<h2 id="深入javascript数据类型" tabindex="-1">深入JavaScript数据类型 <a class="header-anchor" href="#深入javascript数据类型" aria-hidden="true">#</a></h2><p>JavaScript包含以下几种数据类型</p><ul><li>Number 数字</li><li>String 字符串</li><li>Boolean 布尔值</li><li>Symbol 符号 ES6新增</li><li>Object 对象 <ul><li>Function 函数</li><li>Array 数组</li><li>Date 日期</li><li>RegExp 正则表达式</li><li>...</li></ul></li><li>null 空</li><li>undefined 未定义</li></ul><p>从语言底层值的可变与不可变可以将JS中的数据分为两种不可变值原始类型和可变值引用类型</p><p>除了Object及继承自Object的特殊对象其他的类型都为<strong>原始类型</strong>。</p><h2 id="typeof运算符" tabindex="-1">typeof运算符 <a class="header-anchor" href="#typeof运算符" aria-hidden="true">#</a></h2><p>除了null所有<strong>原始类型</strong>都可以通过<code>typeof</code>运算符得到不同的结果</p><p>而null与object通过<code>typeof</code>运算符得到的结果都为<code>&#39;object&#39;</code></p><div class="language-javascript line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#676E95;font-style:italic;">// 除了 null 其他原始类型的变量都可以通过 typeof 得到其类型</span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">// 而 null 与 object 通过 typeof 运算得到的都是 &#39;object&#39;</span></span>
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> targets </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> [</span><span style="color:#F78C6C;">18</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Ziu</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#FF9CAC;">true</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">Symbol</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">&#39;&#39;</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{},</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">null,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">undefined</span><span style="color:#A6ACCD;">]</span></span>
<span class="line"></span>

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const o="/assets/Object.prototype.toString.70e8308c.png",d=JSON.parse(`{"title":"","description":"","frontmatter":{},"headers":[{"level":2,"title":"深入JavaScript数据类型","slug":"深入javascript数据类型","link":"#深入javascript数据类型","children":[]},{"level":2,"title":"typeof运算符","slug":"typeof运算符","link":"#typeof运算符","children":[{"level":3,"title":"typeof null === 'object'","slug":"typeof-null-object","link":"#typeof-null-object","children":[]},{"level":3,"title":"关于new操作符","slug":"关于new操作符","link":"#关于new操作符","children":[]},{"level":3,"title":"字符串原始值和字符串对象","slug":"字符串原始值和字符串对象","link":"#字符串原始值和字符串对象","children":[]}]},{"level":2,"title":"包装类型","slug":"包装类型","link":"#包装类型","children":[]},{"level":2,"title":"使用toString检查对象类型","slug":"使用tostring检查对象类型","link":"#使用tostring检查对象类型","children":[{"level":3,"title":"核心原理","slug":"核心原理","link":"#核心原理","children":[]}]}],"relativePath":"article/深入JavaScript数据类型.md","lastUpdated":1676737739000}`),e={name:"article/深入JavaScript数据类型.md"},p=l("",46),t=[p];function c(r,i,y,D,A,F){return n(),a("div",null,t)}const b=s(e,[["render",c]]);export{d as __pageData,b as default};
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const o="/assets/Object.prototype.toString.70e8308c.png",d=JSON.parse(`{"title":"","description":"","frontmatter":{},"headers":[{"level":2,"title":"深入JavaScript数据类型","slug":"深入javascript数据类型","link":"#深入javascript数据类型","children":[]},{"level":2,"title":"typeof运算符","slug":"typeof运算符","link":"#typeof运算符","children":[{"level":3,"title":"typeof null === 'object'","slug":"typeof-null-object","link":"#typeof-null-object","children":[]},{"level":3,"title":"关于new操作符","slug":"关于new操作符","link":"#关于new操作符","children":[]},{"level":3,"title":"字符串原始值和字符串对象","slug":"字符串原始值和字符串对象","link":"#字符串原始值和字符串对象","children":[]}]},{"level":2,"title":"包装类型","slug":"包装类型","link":"#包装类型","children":[]},{"level":2,"title":"使用toString检查对象类型","slug":"使用tostring检查对象类型","link":"#使用tostring检查对象类型","children":[{"level":3,"title":"核心原理","slug":"核心原理","link":"#核心原理","children":[]}]}],"relativePath":"article/深入JavaScript数据类型.md","lastUpdated":1676979063000}`),e={name:"article/深入JavaScript数据类型.md"},p=l("",46),t=[p];function c(r,i,y,D,A,F){return n(),a("div",null,t)}const b=s(e,[["render",c]]);export{d as __pageData,b as default};

View File

@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const u=JSON.parse('{"title":"深入Vue3源码看看Vue.use后究竟发生了什么","description":"","frontmatter":{},"headers":[{"level":2,"title":"从全局注册组件库入手","slug":"从全局注册组件库入手","link":"#从全局注册组件库入手","children":[]},{"level":2,"title":"深入源码","slug":"深入源码","link":"#深入源码","children":[]},{"level":2,"title":"手动引入&注册组件","slug":"手动引入-注册组件","link":"#手动引入-注册组件","children":[]},{"level":2,"title":"参考阅读","slug":"参考阅读","link":"#参考阅读","children":[]}],"relativePath":"article/深入Vue3源码看看Vue.use后究竟发生了什么.md","lastUpdated":1676737739000}'),p={name:"article/深入Vue3源码看看Vue.use后究竟发生了什么.md"},e=l(`<h1 id="深入vue3源码-看看vue-use后究竟发生了什么" tabindex="-1">深入Vue3源码看看Vue.use后究竟发生了什么 <a class="header-anchor" href="#深入vue3源码-看看vue-use后究竟发生了什么" aria-hidden="true">#</a></h1><h2 id="从全局注册组件库入手" tabindex="-1">从全局注册组件库入手 <a class="header-anchor" href="#从全局注册组件库入手" aria-hidden="true">#</a></h2><p>如果我们自定义了几个自定义组件,当我们想在<code>.vue</code>文件中使用它们时,需要手动<code>import</code>导入组件并在<code>component</code>中注册:</p><div class="language-html line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">html</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">script</span><span style="color:#89DDFF;">&gt;</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const u=JSON.parse('{"title":"深入Vue3源码看看Vue.use后究竟发生了什么","description":"","frontmatter":{},"headers":[{"level":2,"title":"从全局注册组件库入手","slug":"从全局注册组件库入手","link":"#从全局注册组件库入手","children":[]},{"level":2,"title":"深入源码","slug":"深入源码","link":"#深入源码","children":[]},{"level":2,"title":"手动引入&注册组件","slug":"手动引入-注册组件","link":"#手动引入-注册组件","children":[]},{"level":2,"title":"参考阅读","slug":"参考阅读","link":"#参考阅读","children":[]}],"relativePath":"article/深入Vue3源码看看Vue.use后究竟发生了什么.md","lastUpdated":1676979063000}'),p={name:"article/深入Vue3源码看看Vue.use后究竟发生了什么.md"},e=l(`<h1 id="深入vue3源码-看看vue-use后究竟发生了什么" tabindex="-1">深入Vue3源码看看Vue.use后究竟发生了什么 <a class="header-anchor" href="#深入vue3源码-看看vue-use后究竟发生了什么" aria-hidden="true">#</a></h1><h2 id="从全局注册组件库入手" tabindex="-1">从全局注册组件库入手 <a class="header-anchor" href="#从全局注册组件库入手" aria-hidden="true">#</a></h2><p>如果我们自定义了几个自定义组件,当我们想在<code>.vue</code>文件中使用它们时,需要手动<code>import</code>导入组件并在<code>component</code>中注册:</p><div class="language-html line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">html</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">script</span><span style="color:#89DDFF;">&gt;</span></span>
<span class="line"><span style="color:#89DDFF;font-style:italic;">import</span><span style="color:#A6ACCD;"> CustomInput </span><span style="color:#89DDFF;font-style:italic;">from</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">@/component/CustomInput.vue</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#89DDFF;font-style:italic;">export</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;font-style:italic;">default</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const u=JSON.parse('{"title":"深入Vue3源码看看Vue.use后究竟发生了什么","description":"","frontmatter":{},"headers":[{"level":2,"title":"从全局注册组件库入手","slug":"从全局注册组件库入手","link":"#从全局注册组件库入手","children":[]},{"level":2,"title":"深入源码","slug":"深入源码","link":"#深入源码","children":[]},{"level":2,"title":"手动引入&注册组件","slug":"手动引入-注册组件","link":"#手动引入-注册组件","children":[]},{"level":2,"title":"参考阅读","slug":"参考阅读","link":"#参考阅读","children":[]}],"relativePath":"article/深入Vue3源码看看Vue.use后究竟发生了什么.md","lastUpdated":1676737739000}'),p={name:"article/深入Vue3源码看看Vue.use后究竟发生了什么.md"},e=l("",26),o=[e];function t(c,r,i,y,F,D){return n(),a("div",null,o)}const C=s(p,[["render",t]]);export{u as __pageData,C as default};
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const u=JSON.parse('{"title":"深入Vue3源码看看Vue.use后究竟发生了什么","description":"","frontmatter":{},"headers":[{"level":2,"title":"从全局注册组件库入手","slug":"从全局注册组件库入手","link":"#从全局注册组件库入手","children":[]},{"level":2,"title":"深入源码","slug":"深入源码","link":"#深入源码","children":[]},{"level":2,"title":"手动引入&注册组件","slug":"手动引入-注册组件","link":"#手动引入-注册组件","children":[]},{"level":2,"title":"参考阅读","slug":"参考阅读","link":"#参考阅读","children":[]}],"relativePath":"article/深入Vue3源码看看Vue.use后究竟发生了什么.md","lastUpdated":1676979063000}'),p={name:"article/深入Vue3源码看看Vue.use后究竟发生了什么.md"},e=l("",26),o=[e];function t(c,r,i,y,F,D){return n(),a("div",null,o)}const C=s(p,[["render",t]]);export{u as __pageData,C as default};

View File

@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const i=JSON.parse('{"title":"深入理解Proxy与Reflect","description":"","frontmatter":{},"headers":[{"level":3,"title":"监听对象的操作","slug":"监听对象的操作","link":"#监听对象的操作","children":[]},{"level":3,"title":"Proxy类基本使用","slug":"proxy类基本使用","link":"#proxy类基本使用","children":[]},{"level":3,"title":"捕获器","slug":"捕获器","link":"#捕获器","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"与Object的区别","slug":"与object的区别","link":"#与object的区别","children":[]},{"level":3,"title":"Reflect常见方法","slug":"reflect常见方法","link":"#reflect常见方法","children":[]},{"level":3,"title":"Reflect.construct方法","slug":"reflect-construct方法","link":"#reflect-construct方法","children":[]}],"relativePath":"article/深入理解Proxy与Reflect.md","lastUpdated":1676737739000}'),p={name:"article/深入理解Proxy与Reflect.md"},o=l(`<h1 id="深入理解proxy与reflect" tabindex="-1">深入理解Proxy与Reflect <a class="header-anchor" href="#深入理解proxy与reflect" aria-hidden="true">#</a></h1><h3 id="监听对象的操作" tabindex="-1">监听对象的操作 <a class="header-anchor" href="#监听对象的操作" aria-hidden="true">#</a></h3><p>可以使用Proxy对象将原对象包裹此后的操作都对<code>proxy</code>进行,每次<code>get</code>与<code>set</code>被触发时都会自动执行相应代码</p><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> obj </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const i=JSON.parse('{"title":"深入理解Proxy与Reflect","description":"","frontmatter":{},"headers":[{"level":3,"title":"监听对象的操作","slug":"监听对象的操作","link":"#监听对象的操作","children":[]},{"level":3,"title":"Proxy类基本使用","slug":"proxy类基本使用","link":"#proxy类基本使用","children":[]},{"level":3,"title":"捕获器","slug":"捕获器","link":"#捕获器","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"与Object的区别","slug":"与object的区别","link":"#与object的区别","children":[]},{"level":3,"title":"Reflect常见方法","slug":"reflect常见方法","link":"#reflect常见方法","children":[]},{"level":3,"title":"Reflect.construct方法","slug":"reflect-construct方法","link":"#reflect-construct方法","children":[]}],"relativePath":"article/深入理解Proxy与Reflect.md","lastUpdated":1676979063000}'),p={name:"article/深入理解Proxy与Reflect.md"},o=l(`<h1 id="深入理解proxy与reflect" tabindex="-1">深入理解Proxy与Reflect <a class="header-anchor" href="#深入理解proxy与reflect" aria-hidden="true">#</a></h1><h3 id="监听对象的操作" tabindex="-1">监听对象的操作 <a class="header-anchor" href="#监听对象的操作" aria-hidden="true">#</a></h3><p>可以使用Proxy对象将原对象包裹此后的操作都对<code>proxy</code>进行,每次<code>get</code>与<code>set</code>被触发时都会自动执行相应代码</p><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> obj </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">name</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">ziu</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">age</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">18</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">height</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1.88</span></span>

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const i=JSON.parse('{"title":"深入理解Proxy与Reflect","description":"","frontmatter":{},"headers":[{"level":3,"title":"监听对象的操作","slug":"监听对象的操作","link":"#监听对象的操作","children":[]},{"level":3,"title":"Proxy类基本使用","slug":"proxy类基本使用","link":"#proxy类基本使用","children":[]},{"level":3,"title":"捕获器","slug":"捕获器","link":"#捕获器","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"与Object的区别","slug":"与object的区别","link":"#与object的区别","children":[]},{"level":3,"title":"Reflect常见方法","slug":"reflect常见方法","link":"#reflect常见方法","children":[]},{"level":3,"title":"Reflect.construct方法","slug":"reflect-construct方法","link":"#reflect-construct方法","children":[]}],"relativePath":"article/深入理解Proxy与Reflect.md","lastUpdated":1676737739000}'),p={name:"article/深入理解Proxy与Reflect.md"},o=l("",44),e=[o];function c(t,r,y,D,F,A){return n(),a("div",null,e)}const b=s(p,[["render",c]]);export{i as __pageData,b as default};
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const i=JSON.parse('{"title":"深入理解Proxy与Reflect","description":"","frontmatter":{},"headers":[{"level":3,"title":"监听对象的操作","slug":"监听对象的操作","link":"#监听对象的操作","children":[]},{"level":3,"title":"Proxy类基本使用","slug":"proxy类基本使用","link":"#proxy类基本使用","children":[]},{"level":3,"title":"捕获器","slug":"捕获器","link":"#捕获器","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"与Object的区别","slug":"与object的区别","link":"#与object的区别","children":[]},{"level":3,"title":"Reflect常见方法","slug":"reflect常见方法","link":"#reflect常见方法","children":[]},{"level":3,"title":"Reflect.construct方法","slug":"reflect-construct方法","link":"#reflect-construct方法","children":[]}],"relativePath":"article/深入理解Proxy与Reflect.md","lastUpdated":1676979063000}'),p={name:"article/深入理解Proxy与Reflect.md"},o=l("",44),e=[o];function c(t,r,y,D,F,A){return n(),a("div",null,e)}const b=s(p,[["render",c]]);export{i as __pageData,b as default};

View File

@ -1 +1 @@
import{_ as e,o as a,c as s,a as l}from"./app.33820b61.js";const f=JSON.parse('{"title":"深入理解浏览器缓存机制","description":"","frontmatter":{},"headers":[{"level":2,"title":"强制缓存","slug":"强制缓存","link":"#强制缓存","children":[{"level":3,"title":"什么是强制缓存","slug":"什么是强制缓存","link":"#什么是强制缓存","children":[]},{"level":3,"title":"强制缓存的规则","slug":"强制缓存的规则","link":"#强制缓存的规则","children":[]},{"level":3,"title":"Expires与Cache-Control","slug":"expires与cache-control","link":"#expires与cache-control","children":[]}]},{"level":2,"title":"协商缓存","slug":"协商缓存","link":"#协商缓存","children":[{"level":3,"title":"协商缓存的规则","slug":"协商缓存的规则","link":"#协商缓存的规则","children":[]}]},{"level":2,"title":"内存缓存与硬盘缓存","slug":"内存缓存与硬盘缓存","link":"#内存缓存与硬盘缓存","children":[]},{"level":2,"title":"用户对浏览器缓存的控制","slug":"用户对浏览器缓存的控制","link":"#用户对浏览器缓存的控制","children":[]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"relativePath":"article/深入理解浏览器缓存机制.md","lastUpdated":1676737739000}'),n={name:"article/深入理解浏览器缓存机制.md"},o=l("",66),c=[o];function i(r,p,t,d,h,u){return a(),s("div",null,c)}const b=e(n,[["render",i]]);export{f as __pageData,b as default};
import{_ as e,o as a,c as s,a as l}from"./app.33820b61.js";const f=JSON.parse('{"title":"深入理解浏览器缓存机制","description":"","frontmatter":{},"headers":[{"level":2,"title":"强制缓存","slug":"强制缓存","link":"#强制缓存","children":[{"level":3,"title":"什么是强制缓存","slug":"什么是强制缓存","link":"#什么是强制缓存","children":[]},{"level":3,"title":"强制缓存的规则","slug":"强制缓存的规则","link":"#强制缓存的规则","children":[]},{"level":3,"title":"Expires与Cache-Control","slug":"expires与cache-control","link":"#expires与cache-control","children":[]}]},{"level":2,"title":"协商缓存","slug":"协商缓存","link":"#协商缓存","children":[{"level":3,"title":"协商缓存的规则","slug":"协商缓存的规则","link":"#协商缓存的规则","children":[]}]},{"level":2,"title":"内存缓存与硬盘缓存","slug":"内存缓存与硬盘缓存","link":"#内存缓存与硬盘缓存","children":[]},{"level":2,"title":"用户对浏览器缓存的控制","slug":"用户对浏览器缓存的控制","link":"#用户对浏览器缓存的控制","children":[]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"relativePath":"article/深入理解浏览器缓存机制.md","lastUpdated":1676979063000}'),n={name:"article/深入理解浏览器缓存机制.md"},o=l("",66),c=[o];function i(r,p,t,d,h,u){return a(),s("div",null,c)}const b=e(n,[["render",i]]);export{f as __pageData,b as default};

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as e}from"./app.33820b61.js";const m=JSON.parse('{"title":"深入理解浏览器运行原理","description":"","frontmatter":{},"headers":[{"level":2,"title":"网页解析过程","slug":"网页解析过程","link":"#网页解析过程","children":[]},{"level":2,"title":"HTML解析过程","slug":"html解析过程","link":"#html解析过程","children":[]},{"level":2,"title":"生成CSS规则","slug":"生成css规则","link":"#生成css规则","children":[]},{"level":2,"title":"构建Render Tree","slug":"构建render-tree","link":"#构建render-tree","children":[]},{"level":2,"title":"布局和绘制(Layout & Paint)","slug":"布局和绘制-layout-paint","link":"#布局和绘制-layout-paint","children":[]},{"level":2,"title":"回流和重绘(Reflow & )","slug":"回流和重绘-reflow","link":"#回流和重绘-reflow","children":[]},{"level":2,"title":"特殊解析: composite合成","slug":"特殊解析-composite合成","link":"#特殊解析-composite合成","children":[{"level":3,"title":"案例1同一层渲染","slug":"案例1-同一层渲染","link":"#案例1-同一层渲染","children":[]},{"level":3,"title":"案例2分层渲染","slug":"案例2-分层渲染","link":"#案例2-分层渲染","children":[]},{"level":3,"title":"案例3transform 3D","slug":"案例3-transform-3d","link":"#案例3-transform-3d","children":[]},{"level":3,"title":"案例4transition+transform","slug":"案例4-transition-transform","link":"#案例4-transition-transform","children":[]},{"level":3,"title":"案例5transition+opacity","slug":"案例5-transition-opacity","link":"#案例5-transition-opacity","children":[]},{"level":3,"title":"总结","slug":"总结","link":"#总结","children":[]}]},{"level":2,"title":"浏览器对script元素的处理","slug":"浏览器对script元素的处理","link":"#浏览器对script元素的处理","children":[]},{"level":2,"title":"defer属性","slug":"defer属性","link":"#defer属性","children":[]},{"level":2,"title":"async属性","slug":"async属性","link":"#async属性","children":[]}],"relativePath":"article/深入理解浏览器运行原理.md","lastUpdated":1676737739000}'),l={name:"article/深入理解浏览器运行原理.md"},p=e("",87),i=[p];function r(c,t,o,d,u,b){return n(),a("div",null,i)}const C=s(l,[["render",r]]);export{m as __pageData,C as default};
import{_ as s,o as n,c as a,a as e}from"./app.33820b61.js";const m=JSON.parse('{"title":"深入理解浏览器运行原理","description":"","frontmatter":{},"headers":[{"level":2,"title":"网页解析过程","slug":"网页解析过程","link":"#网页解析过程","children":[]},{"level":2,"title":"HTML解析过程","slug":"html解析过程","link":"#html解析过程","children":[]},{"level":2,"title":"生成CSS规则","slug":"生成css规则","link":"#生成css规则","children":[]},{"level":2,"title":"构建Render Tree","slug":"构建render-tree","link":"#构建render-tree","children":[]},{"level":2,"title":"布局和绘制(Layout & Paint)","slug":"布局和绘制-layout-paint","link":"#布局和绘制-layout-paint","children":[]},{"level":2,"title":"回流和重绘(Reflow & )","slug":"回流和重绘-reflow","link":"#回流和重绘-reflow","children":[]},{"level":2,"title":"特殊解析: composite合成","slug":"特殊解析-composite合成","link":"#特殊解析-composite合成","children":[{"level":3,"title":"案例1同一层渲染","slug":"案例1-同一层渲染","link":"#案例1-同一层渲染","children":[]},{"level":3,"title":"案例2分层渲染","slug":"案例2-分层渲染","link":"#案例2-分层渲染","children":[]},{"level":3,"title":"案例3transform 3D","slug":"案例3-transform-3d","link":"#案例3-transform-3d","children":[]},{"level":3,"title":"案例4transition+transform","slug":"案例4-transition-transform","link":"#案例4-transition-transform","children":[]},{"level":3,"title":"案例5transition+opacity","slug":"案例5-transition-opacity","link":"#案例5-transition-opacity","children":[]},{"level":3,"title":"总结","slug":"总结","link":"#总结","children":[]}]},{"level":2,"title":"浏览器对script元素的处理","slug":"浏览器对script元素的处理","link":"#浏览器对script元素的处理","children":[]},{"level":2,"title":"defer属性","slug":"defer属性","link":"#defer属性","children":[]},{"level":2,"title":"async属性","slug":"async属性","link":"#async属性","children":[]}],"relativePath":"article/深入理解浏览器运行原理.md","lastUpdated":1676979063000}'),l={name:"article/深入理解浏览器运行原理.md"},p=e("",87),i=[p];function r(c,t,o,d,u,b){return n(),a("div",null,i)}const C=s(l,[["render",r]]);export{m as __pageData,C as default};

View File

@ -1 +1 @@
import{_ as t,o as e,c as i}from"./app.33820b61.js";const p=JSON.parse('{"title":"主页","description":"","frontmatter":{"layout":"home","title":"主页","hero":{"name":"ZiuChen","text":"无限进步.","tagline":"Infinite Progress...","actions":[{"theme":"brand","text":"Get Started","link":"/self/"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/ZiuChen"}]},"features":[{"icon":"🎓","title":"Electronic Information Major","details":"电子信息工程"},{"icon":"🎯","title":"JavaScript & TypeScript","details":"自学前端 热爱技术"},{"icon":"👆","title":"See more information","details":"访问导航栏查看更多信息"}]},"headers":[],"relativePath":"index.md","lastUpdated":1676737739000}'),a={name:"index.md"};function n(o,r,s,c,l,d){return e(),i("div")}const f=t(a,[["render",n]]);export{p as __pageData,f as default};
import{_ as t,o as e,c as i}from"./app.33820b61.js";const p=JSON.parse('{"title":"主页","description":"","frontmatter":{"layout":"home","title":"主页","hero":{"name":"ZiuChen","text":"无限进步.","tagline":"Infinite Progress...","actions":[{"theme":"brand","text":"Get Started","link":"/self/"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/ZiuChen"}]},"features":[{"icon":"🎓","title":"Electronic Information Major","details":"电子信息工程"},{"icon":"🎯","title":"JavaScript & TypeScript","details":"自学前端 热爱技术"},{"icon":"👆","title":"See more information","details":"访问导航栏查看更多信息"}]},"headers":[],"relativePath":"index.md","lastUpdated":1676979063000}'),a={name:"index.md"};function n(o,r,s,c,l,d){return e(),i("div")}const f=t(a,[["render",n]]);export{p as __pageData,f as default};

View File

@ -1 +1 @@
import{_ as t,o as e,c as i}from"./app.33820b61.js";const p=JSON.parse('{"title":"主页","description":"","frontmatter":{"layout":"home","title":"主页","hero":{"name":"ZiuChen","text":"无限进步.","tagline":"Infinite Progress...","actions":[{"theme":"brand","text":"Get Started","link":"/self/"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/ZiuChen"}]},"features":[{"icon":"🎓","title":"Electronic Information Major","details":"电子信息工程"},{"icon":"🎯","title":"JavaScript & TypeScript","details":"自学前端 热爱技术"},{"icon":"👆","title":"See more information","details":"访问导航栏查看更多信息"}]},"headers":[],"relativePath":"index.md","lastUpdated":1676737739000}'),a={name:"index.md"};function n(o,r,s,c,l,d){return e(),i("div")}const f=t(a,[["render",n]]);export{p as __pageData,f as default};
import{_ as t,o as e,c as i}from"./app.33820b61.js";const p=JSON.parse('{"title":"主页","description":"","frontmatter":{"layout":"home","title":"主页","hero":{"name":"ZiuChen","text":"无限进步.","tagline":"Infinite Progress...","actions":[{"theme":"brand","text":"Get Started","link":"/self/"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/ZiuChen"}]},"features":[{"icon":"🎓","title":"Electronic Information Major","details":"电子信息工程"},{"icon":"🎯","title":"JavaScript & TypeScript","details":"自学前端 热爱技术"},{"icon":"👆","title":"See more information","details":"访问导航栏查看更多信息"}]},"headers":[],"relativePath":"index.md","lastUpdated":1676979063000}'),a={name:"index.md"};function n(o,r,s,c,l,d){return e(),i("div")}const f=t(a,[["render",n]]);export{p as __pageData,f as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const F=JSON.parse('{"title":"前端工程化","description":"","frontmatter":{},"headers":[{"level":2,"title":"Node.js","slug":"node-js","link":"#node-js","children":[{"level":3,"title":"什么是Node.js","slug":"什么是node-js","link":"#什么是node-js","children":[]},{"level":3,"title":"Node.js的应用场景","slug":"node-js的应用场景","link":"#node-js的应用场景","children":[]},{"level":3,"title":"Node.js的参数传递","slug":"node-js的参数传递","link":"#node-js的参数传递","children":[]},{"level":3,"title":"Node中的全局对象","slug":"node中的全局对象","link":"#node中的全局对象","children":[]}]},{"level":2,"title":"模块化开发","slug":"模块化开发","link":"#模块化开发","children":[{"level":3,"title":"模块化的初衷","slug":"模块化的初衷","link":"#模块化的初衷","children":[]},{"level":3,"title":"CommonJS","slug":"commonjs","link":"#commonjs","children":[]},{"level":3,"title":"ESModule","slug":"esmodule","link":"#esmodule","children":[]},{"level":3,"title":"深入理解模块加载","slug":"深入理解模块加载","link":"#深入理解模块加载","children":[]},{"level":3,"title":"拓展内容","slug":"拓展内容","link":"#拓展内容","children":[]}]},{"level":2,"title":"包管理工具","slug":"包管理工具","link":"#包管理工具","children":[{"level":3,"title":"npm","slug":"npm","link":"#npm","children":[]},{"level":3,"title":"package.json","slug":"package-json","link":"#package-json","children":[]},{"level":3,"title":"npx","slug":"npx","link":"#npx","children":[]},{"level":3,"title":"npm包的发布","slug":"npm包的发布","link":"#npm包的发布","children":[]},{"level":3,"title":"npm包的开发调试","slug":"npm包的开发调试","link":"#npm包的开发调试","children":[]},{"level":3,"title":"PNPM","slug":"pnpm","link":"#pnpm","children":[]}]},{"level":2,"title":"系统学习Webpack","slug":"系统学习webpack","link":"#系统学习webpack","children":[{"level":3,"title":"Node内置模块 path","slug":"node内置模块-path","link":"#node内置模块-path","children":[]},{"level":3,"title":"初识Webpack","slug":"初识webpack","link":"#初识webpack","children":[]}]}],"relativePath":"note/Front-end Engineering.md","lastUpdated":1676737739000}'),e={name:"note/Front-end Engineering.md"},o=l("",254),p=[o];function c(r,t,i,d,y,D){return n(),a("div",null,p)}const A=s(e,[["render",c]]);export{F as __pageData,A as default};
import{_ as s,o as n,c as a,a as l}from"./app.33820b61.js";const F=JSON.parse('{"title":"前端工程化","description":"","frontmatter":{},"headers":[{"level":2,"title":"Node.js","slug":"node-js","link":"#node-js","children":[{"level":3,"title":"什么是Node.js","slug":"什么是node-js","link":"#什么是node-js","children":[]},{"level":3,"title":"Node.js的应用场景","slug":"node-js的应用场景","link":"#node-js的应用场景","children":[]},{"level":3,"title":"Node.js的参数传递","slug":"node-js的参数传递","link":"#node-js的参数传递","children":[]},{"level":3,"title":"Node中的全局对象","slug":"node中的全局对象","link":"#node中的全局对象","children":[]}]},{"level":2,"title":"模块化开发","slug":"模块化开发","link":"#模块化开发","children":[{"level":3,"title":"模块化的初衷","slug":"模块化的初衷","link":"#模块化的初衷","children":[]},{"level":3,"title":"CommonJS","slug":"commonjs","link":"#commonjs","children":[]},{"level":3,"title":"ESModule","slug":"esmodule","link":"#esmodule","children":[]},{"level":3,"title":"深入理解模块加载","slug":"深入理解模块加载","link":"#深入理解模块加载","children":[]},{"level":3,"title":"拓展内容","slug":"拓展内容","link":"#拓展内容","children":[]}]},{"level":2,"title":"包管理工具","slug":"包管理工具","link":"#包管理工具","children":[{"level":3,"title":"npm","slug":"npm","link":"#npm","children":[]},{"level":3,"title":"package.json","slug":"package-json","link":"#package-json","children":[]},{"level":3,"title":"npx","slug":"npx","link":"#npx","children":[]},{"level":3,"title":"npm包的发布","slug":"npm包的发布","link":"#npm包的发布","children":[]},{"level":3,"title":"npm包的开发调试","slug":"npm包的开发调试","link":"#npm包的开发调试","children":[]},{"level":3,"title":"PNPM","slug":"pnpm","link":"#pnpm","children":[]}]},{"level":2,"title":"系统学习Webpack","slug":"系统学习webpack","link":"#系统学习webpack","children":[{"level":3,"title":"Node内置模块 path","slug":"node内置模块-path","link":"#node内置模块-path","children":[]},{"level":3,"title":"初识Webpack","slug":"初识webpack","link":"#初识webpack","children":[]}]}],"relativePath":"note/Front-end Engineering.md","lastUpdated":1676979063000}'),e={name:"note/Front-end Engineering.md"},o=l("",254),p=[o];function c(r,t,i,d,y,D){return n(),a("div",null,p)}const A=s(e,[["render",c]]);export{F as __pageData,A as default};

View File

@ -1 +1 @@
import{_ as a,o as e,c as r,b as t,d as s}from"./app.33820b61.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1676737739000}'),c={name:"note/JavaScript.md"},i=t("h1",{id:"javascript-基础",tabindex:"-1"},[s("JavaScript 基础 "),t("a",{class:"header-anchor",href:"#javascript-基础","aria-hidden":"true"},"#")],-1),n=t("p",null,"JavaScript 组成",-1),o=t("ul",null,[t("li",null,"ECMAScript 定义语言规范"),t("li",null,"DOM 用于操作文档的API"),t("li",null,"BOM 用于操作浏览器的API")],-1),l=[i,n,o];function d(p,_,h,u,v,f){return e(),r("div",null,l)}const J=a(c,[["render",d]]);export{S as __pageData,J as default};
import{_ as a,o as e,c as r,b as t,d as s}from"./app.33820b61.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1676979063000}'),c={name:"note/JavaScript.md"},i=t("h1",{id:"javascript-基础",tabindex:"-1"},[s("JavaScript 基础 "),t("a",{class:"header-anchor",href:"#javascript-基础","aria-hidden":"true"},"#")],-1),n=t("p",null,"JavaScript 组成",-1),o=t("ul",null,[t("li",null,"ECMAScript 定义语言规范"),t("li",null,"DOM 用于操作文档的API"),t("li",null,"BOM 用于操作浏览器的API")],-1),l=[i,n,o];function d(p,_,h,u,v,f){return e(),r("div",null,l)}const J=a(c,[["render",d]]);export{S as __pageData,J as default};

View File

@ -1 +1 @@
import{_ as a,o as e,c as r,b as t,d as s}from"./app.33820b61.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1676737739000}'),c={name:"note/JavaScript.md"},i=t("h1",{id:"javascript-基础",tabindex:"-1"},[s("JavaScript 基础 "),t("a",{class:"header-anchor",href:"#javascript-基础","aria-hidden":"true"},"#")],-1),n=t("p",null,"JavaScript 组成",-1),o=t("ul",null,[t("li",null,"ECMAScript 定义语言规范"),t("li",null,"DOM 用于操作文档的API"),t("li",null,"BOM 用于操作浏览器的API")],-1),l=[i,n,o];function d(p,_,h,u,v,f){return e(),r("div",null,l)}const J=a(c,[["render",d]]);export{S as __pageData,J as default};
import{_ as a,o as e,c as r,b as t,d as s}from"./app.33820b61.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1676979063000}'),c={name:"note/JavaScript.md"},i=t("h1",{id:"javascript-基础",tabindex:"-1"},[s("JavaScript 基础 "),t("a",{class:"header-anchor",href:"#javascript-基础","aria-hidden":"true"},"#")],-1),n=t("p",null,"JavaScript 组成",-1),o=t("ul",null,[t("li",null,"ECMAScript 定义语言规范"),t("li",null,"DOM 用于操作文档的API"),t("li",null,"BOM 用于操作浏览器的API")],-1),l=[i,n,o];function d(p,_,h,u,v,f){return e(),r("div",null,l)}const J=a(c,[["render",d]]);export{S as __pageData,J as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{_ as l,o as e,c as i,a as s}from"./app.33820b61.js";const g=JSON.parse('{"title":"服务端渲染(SSR)","description":"","frontmatter":{},"headers":[{"level":2,"title":"邂逅SPA和SSR","slug":"邂逅spa和ssr","link":"#邂逅spa和ssr","children":[{"level":3,"title":"SPA的优点与缺点","slug":"spa的优点与缺点","link":"#spa的优点与缺点","children":[]},{"level":3,"title":"SEO优化","slug":"seo优化","link":"#seo优化","children":[]}]},{"level":2,"title":"服务端渲染 SSR","slug":"服务端渲染-ssr-1","link":"#服务端渲染-ssr-1","children":[{"level":3,"title":"SSR的优点","slug":"ssr的优点","link":"#ssr的优点","children":[]},{"level":3,"title":"SSR的缺点","slug":"ssr的缺点","link":"#ssr的缺点","children":[]},{"level":3,"title":"SSR 解决方案","slug":"ssr-解决方案","link":"#ssr-解决方案","children":[]}]},{"level":2,"title":"静态网站生成 SSG","slug":"静态网站生成-ssg","link":"#静态网站生成-ssg","children":[{"level":3,"title":"SSR与SSG的优势","slug":"ssr与ssg的优势","link":"#ssr与ssg的优势","children":[]},{"level":3,"title":"跨请求状态污染","slug":"跨请求状态污染","link":"#跨请求状态污染","children":[]}]},{"level":2,"title":"Nuxt3 系统学习","slug":"nuxt3-系统学习","link":"#nuxt3-系统学习","children":[{"level":3,"title":"认识Nuxt3","slug":"认识nuxt3","link":"#认识nuxt3","children":[]},{"level":3,"title":"搭建Nuxt3环境","slug":"搭建nuxt3环境","link":"#搭建nuxt3环境","children":[]},{"level":3,"title":"配置 Configuration","slug":"配置-configuration","link":"#配置-configuration","children":[]},{"level":3,"title":"页面与组件 View and Component","slug":"页面与组件-view-and-component","link":"#页面与组件-view-and-component","children":[]},{"level":3,"title":"创建页面","slug":"创建页面","link":"#创建页面","children":[]},{"level":3,"title":"页面布局 Layout","slug":"页面布局-layout","link":"#页面布局-layout","children":[]},{"level":3,"title":"渲染模式","slug":"渲染模式","link":"#渲染模式","children":[]}]}],"relativePath":"note/SSR.md","lastUpdated":1676737739000}'),o={name:"note/SSR.md"},a=s("",80),n=[a];function t(d,c,r,p,u,h){return e(),i("div",null,n)}const D=l(o,[["render",t]]);export{g as __pageData,D as default};
import{_ as l,o as e,c as i,a as s}from"./app.33820b61.js";const g=JSON.parse('{"title":"服务端渲染(SSR)","description":"","frontmatter":{},"headers":[{"level":2,"title":"邂逅SPA和SSR","slug":"邂逅spa和ssr","link":"#邂逅spa和ssr","children":[{"level":3,"title":"SPA的优点与缺点","slug":"spa的优点与缺点","link":"#spa的优点与缺点","children":[]},{"level":3,"title":"SEO优化","slug":"seo优化","link":"#seo优化","children":[]}]},{"level":2,"title":"服务端渲染 SSR","slug":"服务端渲染-ssr-1","link":"#服务端渲染-ssr-1","children":[{"level":3,"title":"SSR的优点","slug":"ssr的优点","link":"#ssr的优点","children":[]},{"level":3,"title":"SSR的缺点","slug":"ssr的缺点","link":"#ssr的缺点","children":[]},{"level":3,"title":"SSR 解决方案","slug":"ssr-解决方案","link":"#ssr-解决方案","children":[]}]},{"level":2,"title":"静态网站生成 SSG","slug":"静态网站生成-ssg","link":"#静态网站生成-ssg","children":[{"level":3,"title":"SSR与SSG的优势","slug":"ssr与ssg的优势","link":"#ssr与ssg的优势","children":[]},{"level":3,"title":"跨请求状态污染","slug":"跨请求状态污染","link":"#跨请求状态污染","children":[]}]},{"level":2,"title":"Nuxt3 系统学习","slug":"nuxt3-系统学习","link":"#nuxt3-系统学习","children":[{"level":3,"title":"认识Nuxt3","slug":"认识nuxt3","link":"#认识nuxt3","children":[]},{"level":3,"title":"搭建Nuxt3环境","slug":"搭建nuxt3环境","link":"#搭建nuxt3环境","children":[]},{"level":3,"title":"配置 Configuration","slug":"配置-configuration","link":"#配置-configuration","children":[]},{"level":3,"title":"页面与组件 View and Component","slug":"页面与组件-view-and-component","link":"#页面与组件-view-and-component","children":[]},{"level":3,"title":"创建页面","slug":"创建页面","link":"#创建页面","children":[]},{"level":3,"title":"页面布局 Layout","slug":"页面布局-layout","link":"#页面布局-layout","children":[]},{"level":3,"title":"渲染模式","slug":"渲染模式","link":"#渲染模式","children":[]}]}],"relativePath":"note/SSR.md","lastUpdated":1676979063000}'),o={name:"note/SSR.md"},a=s("",80),n=[a];function t(d,c,r,p,u,h){return e(),i("div",null,n)}const D=l(o,[["render",t]]);export{g as __pageData,D as default};

View File

@ -1 +1 @@
import{_ as l,r as p,o as c,c as t,b as s,d as e,e as n,a as o}from"./app.33820b61.js";const r="/assets/gi1.b601202a.png",d="/assets/gi2.e2b1f9d9.png",i="/assets/gi3.c83cee76.png",D="/assets/gi3-2.8cc1f8a9.png",h="/assets/gi3-3.47dffc9b.png",u="/assets/sign-mac.2c3e272f.png",F="/assets/sign-mac-2.5861d44c.png",y="/assets/mac-chmod.bf888724.jpg",_="/assets/guide-jianguo-1.a7e6fa82.png",g="/assets/guide-jianguo-2.14924b1b.png",C="/assets/gi4.e4051a3e.png",m="/assets/gi5.f517b425.png",$=JSON.parse('{"title":"使用指南","description":"","frontmatter":{},"headers":[{"level":2,"title":"快捷键一览","slug":"快捷键一览","link":"#快捷键一览","children":[]},{"level":2,"title":"如何手动安装clipboard-event-handler","slug":"如何手动安装clipboard-event-handler","link":"#如何手动安装clipboard-event-handler","children":[{"level":3,"title":"1. 下载监听程序","slug":"_1-下载监听程序","link":"#_1-下载监听程序","children":[]},{"level":3,"title":"2. 找到剪贴板数据文件所在目录","slug":"_2-找到剪贴板数据文件所在目录","link":"#_2-找到剪贴板数据文件所在目录","children":[]},{"level":3,"title":"3. 将监听程序拷贝到目录中","slug":"_3-将监听程序拷贝到目录中","link":"#_3-将监听程序拷贝到目录中","children":[]},{"level":3,"title":"4. 【重要】注意事项","slug":"_4-【重要】注意事项","link":"#_4-【重要】注意事项","children":[]}]},{"level":2,"title":"如何实现多端同步","slug":"如何实现多端同步","link":"#如何实现多端同步","children":[{"level":3,"title":"WebDav同步","slug":"webdav同步","link":"#webdav同步","children":[]},{"level":3,"title":"坚果云同步文件夹","slug":"坚果云同步文件夹","link":"#坚果云同步文件夹","children":[]}]},{"level":2,"title":"如何迁移数据","slug":"如何迁移数据","link":"#如何迁移数据","children":[]},{"level":2,"title":"如何创造自己的功能按钮","slug":"如何创造自己的功能按钮","link":"#如何创造自己的功能按钮","children":[]}],"relativePath":"project/ClipboardManager/guide/index.md","lastUpdated":1676737739000}'),b={name:"project/ClipboardManager/guide/index.md"},A=s("h1",{id:"使用指南",tabindex:"-1"},[e("使用指南 "),s("a",{class:"header-anchor",href:"#使用指南","aria-hidden":"true"},"#")],-1),v=s("h2",{id:"快捷键一览",tabindex:"-1"},[e("快捷键一览 "),s("a",{class:"header-anchor",href:"#快捷键一览","aria-hidden":"true"},"#")],-1),q=o("",6),f=s("code",null,"Ctrl/Command+鼠标左键",-1),x=o("",35),E={id:"webdav同步",tabindex:"-1"},k=s("a",{class:"header-anchor",href:"#webdav同步","aria-hidden":"true"},"#",-1),w=s("div",{class:"tip custom-block"},[s("p",{class:"custom-block-title"},"TIP"),s("p",null,[e("自"),s("code",null,"v2.0.0"),e("起,可以通过开通插件会员启用"),s("strong",null,"WebDav同步功能")])],-1),T=s("p",null,[e("👉👉👉"),s("a",{href:"./../vip/#webdav同步功能"},"插件会员/WebDav同步功能"),e("👈👈👈")],-1),S={id:"坚果云同步文件夹",tabindex:"-1"},j=s("a",{class:"header-anchor",href:"#坚果云同步文件夹","aria-hidden":"true"},"#",-1),B=o("",28);function N(V,I,W,P,M,O){const a=p("Badge");return c(),t("div",null,[A,v,s("ul",null,[q,s("li",null,[f,e("点击文本/图片/文件 直接进入预览/打开所在文件夹 "),n(a,{type:"warning",text:"插件会员"})])]),x,s("h3",E,[e("WebDav同步 "),n(a,{type:"tip",text:"^2.0.0"}),e(),k]),w,T,s("h3",S,[e("坚果云同步文件夹 "),n(a,{type:"warning",text:"仅旧版本"}),e(),j]),B])}const L=l(b,[["render",N]]);export{$ as __pageData,L as default};
import{_ as l,r as p,o as c,c as t,b as s,d as e,e as n,a as o}from"./app.33820b61.js";const r="/assets/gi1.b601202a.png",d="/assets/gi2.e2b1f9d9.png",i="/assets/gi3.c83cee76.png",D="/assets/gi3-2.8cc1f8a9.png",h="/assets/gi3-3.47dffc9b.png",u="/assets/sign-mac.2c3e272f.png",F="/assets/sign-mac-2.5861d44c.png",y="/assets/mac-chmod.bf888724.jpg",_="/assets/guide-jianguo-1.a7e6fa82.png",g="/assets/guide-jianguo-2.14924b1b.png",C="/assets/gi4.e4051a3e.png",m="/assets/gi5.f517b425.png",$=JSON.parse('{"title":"使用指南","description":"","frontmatter":{},"headers":[{"level":2,"title":"快捷键一览","slug":"快捷键一览","link":"#快捷键一览","children":[]},{"level":2,"title":"如何手动安装clipboard-event-handler","slug":"如何手动安装clipboard-event-handler","link":"#如何手动安装clipboard-event-handler","children":[{"level":3,"title":"1. 下载监听程序","slug":"_1-下载监听程序","link":"#_1-下载监听程序","children":[]},{"level":3,"title":"2. 找到剪贴板数据文件所在目录","slug":"_2-找到剪贴板数据文件所在目录","link":"#_2-找到剪贴板数据文件所在目录","children":[]},{"level":3,"title":"3. 将监听程序拷贝到目录中","slug":"_3-将监听程序拷贝到目录中","link":"#_3-将监听程序拷贝到目录中","children":[]},{"level":3,"title":"4. 【重要】注意事项","slug":"_4-【重要】注意事项","link":"#_4-【重要】注意事项","children":[]}]},{"level":2,"title":"如何实现多端同步","slug":"如何实现多端同步","link":"#如何实现多端同步","children":[{"level":3,"title":"WebDav同步","slug":"webdav同步","link":"#webdav同步","children":[]},{"level":3,"title":"坚果云同步文件夹","slug":"坚果云同步文件夹","link":"#坚果云同步文件夹","children":[]}]},{"level":2,"title":"如何迁移数据","slug":"如何迁移数据","link":"#如何迁移数据","children":[]},{"level":2,"title":"如何创造自己的功能按钮","slug":"如何创造自己的功能按钮","link":"#如何创造自己的功能按钮","children":[]}],"relativePath":"project/ClipboardManager/guide/index.md","lastUpdated":1676979063000}'),b={name:"project/ClipboardManager/guide/index.md"},A=s("h1",{id:"使用指南",tabindex:"-1"},[e("使用指南 "),s("a",{class:"header-anchor",href:"#使用指南","aria-hidden":"true"},"#")],-1),v=s("h2",{id:"快捷键一览",tabindex:"-1"},[e("快捷键一览 "),s("a",{class:"header-anchor",href:"#快捷键一览","aria-hidden":"true"},"#")],-1),q=o("",6),f=s("code",null,"Ctrl/Command+鼠标左键",-1),x=o("",35),E={id:"webdav同步",tabindex:"-1"},k=s("a",{class:"header-anchor",href:"#webdav同步","aria-hidden":"true"},"#",-1),w=s("div",{class:"tip custom-block"},[s("p",{class:"custom-block-title"},"TIP"),s("p",null,[e("自"),s("code",null,"v2.0.0"),e("起,可以通过开通插件会员启用"),s("strong",null,"WebDav同步功能")])],-1),T=s("p",null,[e("👉👉👉"),s("a",{href:"./../vip/#webdav同步功能"},"插件会员/WebDav同步功能"),e("👈👈👈")],-1),S={id:"坚果云同步文件夹",tabindex:"-1"},j=s("a",{class:"header-anchor",href:"#坚果云同步文件夹","aria-hidden":"true"},"#",-1),B=o("",28);function N(V,I,W,P,M,O){const a=p("Badge");return c(),t("div",null,[A,v,s("ul",null,[q,s("li",null,[f,e("点击文本/图片/文件 直接进入预览/打开所在文件夹 "),n(a,{type:"warning",text:"插件会员"})])]),x,s("h3",E,[e("WebDav同步 "),n(a,{type:"tip",text:"^2.0.0"}),e(),k]),w,T,s("h3",S,[e("坚果云同步文件夹 "),n(a,{type:"warning",text:"仅旧版本"}),e(),j]),B])}const L=l(b,[["render",N]]);export{$ as __pageData,L as default};

View File

@ -1 +1 @@
import{r as e,o as d,c as a,e as o,n as i,g as l,a as t}from"./app.33820b61.js";const g="/assets/logo.98e788ed.png",_="/assets/11.3cd0cf4e.png",p="/assets/22.8fe09229.png",m="/assets/33.63eddf1e.png",h="/assets/44.a788d6b3.png",u="/assets/55.9e8a964d.png",f="/assets/66.54616de1.png",b="/assets/77.2791123e.png",T=t('<h2 id="🔰-开始使用" tabindex="-1">🔰 开始使用 <a class="header-anchor" href="#🔰-开始使用" aria-hidden="true">#</a></h2><p><strong>首次安装需要设置“跟随主程序同时启动”</strong></p><ul><li>✅ 监听剪贴板并持续将新内容更新到本地磁盘 数据读写<strong>完全本地化</strong></li><li>✅ 快速<code>收藏</code>/<code>转存</code>/<code>分词</code>/<code>复制</code>/<code>删除</code>/<code>打开文件&amp;目标文件夹</code></li><li>✅ 功能按钮 定义<strong>无限可能</strong> <code>OCR识别</code> <code>百度搜索</code> <code>百度识图</code> <code>统计文本字数</code> <code>颜色管理</code> <code>识别图片中二维码</code> <code>上传到图床</code> <code>翻译</code></li><li>✅ <code>鼠标左键</code> 复制并粘贴 <code>鼠标右键</code> 仅复制</li><li>✅ 按下<code>Shift</code>或<code>空格</code>进入<strong>多选模式</strong> 连续选择多条内容合并复制 支持<strong>跨标签</strong>合并复制/粘贴</li><li>✅ 键盘 <code>↑</code> <code>↓</code> 选中历史记录,按下回车直接粘贴</li><li>✅ 键盘 <code>←</code> <code>→</code>切换分类 <code>Tab</code>键连续切换分类</li><li>✅ 使用 <code>Ctrl/Alt+数字键</code> 快速粘贴</li><li>✅ 插件内<code>输入任意字母或数字</code>自动聚焦搜索框 支持使用<code>空格</code>同时检索<strong>多个关键词</strong></li><li>✅ <strong>智慧分词</strong> 快速拖选指定内容 <strong>超级粘贴</strong> 直接转存为文件</li><li>✅ 优雅的界面动效与交互 跟随系统的深色模式</li><li>✅ 优秀的剪贴板监听性能 强大的自定义功能按钮 自搭建多端同步 ···</li></ul>',3),S=t('<hr><h2 id="📚-安装方式" tabindex="-1">📚 安装方式 <a class="header-anchor" href="#📚-安装方式" aria-hidden="true">#</a></h2><ul><li>官方插件市场安装</li><li>离线插件安装:<a href="https://pan.baidu.com/s/14GJIXWDU2F4jsqDDq73aFg?pwd=Ziuc" target="_blank" rel="noreferrer">百度网盘</a></li></ul><p><a href="https://qm.qq.com/cgi-bin/qm/qr?k=9qfHKTaQuWqYN1ys1yiQPdJ4iIlHwgL5&amp;jump_from=webapi" target="_blank" rel="noreferrer">催更群 769115389</a> <a href="https://github.com/ZiuChen" target="_blank" rel="noreferrer">Github</a></p>',4),P=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1676737739000}'),C={name:"project/ClipboardManager/index.md"},A=Object.assign(C,{setup(k){const c={subTitle:"✨ 强大的剪贴板管理工具。",logo:g,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🚀 使用指南",target:"./guide/"},{content:"🌎 疑难解答",target:"./statement/"},{content:"👑 插件会员",target:"./vip/"},{content:"🚚 更新日志",target:"./log/"}]},s=[{src:_},{src:p},{src:m},{src:h},{src:u},{src:f},{src:b}];return(q,I)=>{const r=e("Title"),n=e("ImgSlider");return d(),a("div",null,[o(r,i(l(c)),null,16),T,o(n,{imgSliderList:s}),S])}}});export{P as __pageData,A as default};
import{r as e,o as d,c as a,e as o,n as i,g as l,a as t}from"./app.33820b61.js";const g="/assets/logo.98e788ed.png",_="/assets/11.3cd0cf4e.png",p="/assets/22.8fe09229.png",m="/assets/33.63eddf1e.png",h="/assets/44.a788d6b3.png",u="/assets/55.9e8a964d.png",f="/assets/66.54616de1.png",b="/assets/77.2791123e.png",T=t('<h2 id="🔰-开始使用" tabindex="-1">🔰 开始使用 <a class="header-anchor" href="#🔰-开始使用" aria-hidden="true">#</a></h2><p><strong>首次安装需要设置“跟随主程序同时启动”</strong></p><ul><li>✅ 监听剪贴板并持续将新内容更新到本地磁盘 数据读写<strong>完全本地化</strong></li><li>✅ 快速<code>收藏</code>/<code>转存</code>/<code>分词</code>/<code>复制</code>/<code>删除</code>/<code>打开文件&amp;目标文件夹</code></li><li>✅ 功能按钮 定义<strong>无限可能</strong> <code>OCR识别</code> <code>百度搜索</code> <code>百度识图</code> <code>统计文本字数</code> <code>颜色管理</code> <code>识别图片中二维码</code> <code>上传到图床</code> <code>翻译</code></li><li>✅ <code>鼠标左键</code> 复制并粘贴 <code>鼠标右键</code> 仅复制</li><li>✅ 按下<code>Shift</code>或<code>空格</code>进入<strong>多选模式</strong> 连续选择多条内容合并复制 支持<strong>跨标签</strong>合并复制/粘贴</li><li>✅ 键盘 <code>↑</code> <code>↓</code> 选中历史记录,按下回车直接粘贴</li><li>✅ 键盘 <code>←</code> <code>→</code>切换分类 <code>Tab</code>键连续切换分类</li><li>✅ 使用 <code>Ctrl/Alt+数字键</code> 快速粘贴</li><li>✅ 插件内<code>输入任意字母或数字</code>自动聚焦搜索框 支持使用<code>空格</code>同时检索<strong>多个关键词</strong></li><li>✅ <strong>智慧分词</strong> 快速拖选指定内容 <strong>超级粘贴</strong> 直接转存为文件</li><li>✅ 优雅的界面动效与交互 跟随系统的深色模式</li><li>✅ 优秀的剪贴板监听性能 强大的自定义功能按钮 自搭建多端同步 ···</li></ul>',3),S=t('<hr><h2 id="📚-安装方式" tabindex="-1">📚 安装方式 <a class="header-anchor" href="#📚-安装方式" aria-hidden="true">#</a></h2><ul><li>官方插件市场安装</li><li>离线插件安装:<a href="https://pan.baidu.com/s/14GJIXWDU2F4jsqDDq73aFg?pwd=Ziuc" target="_blank" rel="noreferrer">百度网盘</a></li></ul><p><a href="https://qm.qq.com/cgi-bin/qm/qr?k=9qfHKTaQuWqYN1ys1yiQPdJ4iIlHwgL5&amp;jump_from=webapi" target="_blank" rel="noreferrer">催更群 769115389</a> <a href="https://github.com/ZiuChen" target="_blank" rel="noreferrer">Github</a></p>',4),P=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1676979063000}'),C={name:"project/ClipboardManager/index.md"},A=Object.assign(C,{setup(k){const c={subTitle:"✨ 强大的剪贴板管理工具。",logo:g,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🚀 使用指南",target:"./guide/"},{content:"🌎 疑难解答",target:"./statement/"},{content:"👑 插件会员",target:"./vip/"},{content:"🚚 更新日志",target:"./log/"}]},s=[{src:_},{src:p},{src:m},{src:h},{src:u},{src:f},{src:b}];return(q,I)=>{const r=e("Title"),n=e("ImgSlider");return d(),a("div",null,[o(r,i(l(c)),null,16),T,o(n,{imgSliderList:s}),S])}}});export{P as __pageData,A as default};

View File

@ -1 +1 @@
import{r as e,o as d,c as a,e as o,n as i,g as l,a as t}from"./app.33820b61.js";const g="/assets/logo.98e788ed.png",_="/assets/11.3cd0cf4e.png",p="/assets/22.8fe09229.png",m="/assets/33.63eddf1e.png",h="/assets/44.a788d6b3.png",u="/assets/55.9e8a964d.png",f="/assets/66.54616de1.png",b="/assets/77.2791123e.png",T=t("",3),S=t("",4),P=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1676737739000}'),C={name:"project/ClipboardManager/index.md"},A=Object.assign(C,{setup(k){const c={subTitle:"✨ 强大的剪贴板管理工具。",logo:g,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🚀 使用指南",target:"./guide/"},{content:"🌎 疑难解答",target:"./statement/"},{content:"👑 插件会员",target:"./vip/"},{content:"🚚 更新日志",target:"./log/"}]},s=[{src:_},{src:p},{src:m},{src:h},{src:u},{src:f},{src:b}];return(q,I)=>{const r=e("Title"),n=e("ImgSlider");return d(),a("div",null,[o(r,i(l(c)),null,16),T,o(n,{imgSliderList:s}),S])}}});export{P as __pageData,A as default};
import{r as e,o as d,c as a,e as o,n as i,g as l,a as t}from"./app.33820b61.js";const g="/assets/logo.98e788ed.png",_="/assets/11.3cd0cf4e.png",p="/assets/22.8fe09229.png",m="/assets/33.63eddf1e.png",h="/assets/44.a788d6b3.png",u="/assets/55.9e8a964d.png",f="/assets/66.54616de1.png",b="/assets/77.2791123e.png",T=t("",3),S=t("",4),P=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1676979063000}'),C={name:"project/ClipboardManager/index.md"},A=Object.assign(C,{setup(k){const c={subTitle:"✨ 强大的剪贴板管理工具。",logo:g,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🚀 使用指南",target:"./guide/"},{content:"🌎 疑难解答",target:"./statement/"},{content:"👑 插件会员",target:"./vip/"},{content:"🚚 更新日志",target:"./log/"}]},s=[{src:_},{src:p},{src:m},{src:h},{src:u},{src:f},{src:b}];return(q,I)=>{const r=e("Title"),n=e("ImgSlider");return d(),a("div",null,[o(r,i(l(c)),null,16),T,o(n,{imgSliderList:s}),S])}}});export{P as __pageData,A as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
import{_ as e,o as l,c as i,a}from"./app.33820b61.js";const x=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v2.0.5","slug":"v2-0-5","link":"#v2-0-5","children":[]},{"level":2,"title":"v2.0.4","slug":"v2-0-4","link":"#v2-0-4","children":[]},{"level":2,"title":"v2.0.3","slug":"v2-0-3","link":"#v2-0-3","children":[]},{"level":2,"title":"v2.0.2","slug":"v2-0-2","link":"#v2-0-2","children":[]},{"level":2,"title":"v2.0.1","slug":"v2-0-1","link":"#v2-0-1","children":[]},{"level":2,"title":"v2.0.0","slug":"v2-0-0","link":"#v2-0-0","children":[]},{"level":2,"title":"v1.4.7","slug":"v1-4-7","link":"#v1-4-7","children":[]},{"level":2,"title":"v1.4.6","slug":"v1-4-6","link":"#v1-4-6","children":[]},{"level":2,"title":"v1.4.5","slug":"v1-4-5","link":"#v1-4-5","children":[]},{"level":2,"title":"v1.4.4","slug":"v1-4-4","link":"#v1-4-4","children":[]},{"level":2,"title":"v1.4.3","slug":"v1-4-3","link":"#v1-4-3","children":[]},{"level":2,"title":"v1.4.2","slug":"v1-4-2","link":"#v1-4-2","children":[]},{"level":2,"title":"v1.4.1","slug":"v1-4-1","link":"#v1-4-1","children":[]},{"level":2,"title":"v1.4.0","slug":"v1-4-0","link":"#v1-4-0","children":[]},{"level":2,"title":"v1.3.4","slug":"v1-3-4","link":"#v1-3-4","children":[]},{"level":2,"title":"v1.3.3","slug":"v1-3-3","link":"#v1-3-3","children":[]},{"level":2,"title":"v1.3.2","slug":"v1-3-2","link":"#v1-3-2","children":[]},{"level":2,"title":"v1.3.1","slug":"v1-3-1","link":"#v1-3-1","children":[]},{"level":2,"title":"v1.3.0","slug":"v1-3-0","link":"#v1-3-0","children":[]},{"level":2,"title":"v1.2.3","slug":"v1-2-3","link":"#v1-2-3","children":[]},{"level":2,"title":"v1.2.2","slug":"v1-2-2","link":"#v1-2-2","children":[]},{"level":2,"title":"v1.2.1","slug":"v1-2-1","link":"#v1-2-1","children":[]},{"level":2,"title":"v1.2.0","slug":"v1-2-0","link":"#v1-2-0","children":[]},{"level":2,"title":"v1.1.7","slug":"v1-1-7","link":"#v1-1-7","children":[]},{"level":2,"title":"v1.1.6","slug":"v1-1-6","link":"#v1-1-6","children":[]},{"level":2,"title":"v1.1.5","slug":"v1-1-5","link":"#v1-1-5","children":[]},{"level":2,"title":"v1.1.4","slug":"v1-1-4","link":"#v1-1-4","children":[]},{"level":2,"title":"v1.1.3","slug":"v1-1-3","link":"#v1-1-3","children":[]},{"level":2,"title":"v1.1.2","slug":"v1-1-2","link":"#v1-1-2","children":[]},{"level":2,"title":"v1.1.1","slug":"v1-1-1","link":"#v1-1-1","children":[]},{"level":2,"title":"v1.1.0","slug":"v1-1-0","link":"#v1-1-0","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/ClipboardManager/log/index.md","lastUpdated":1676737739000}'),d={name:"project/ClipboardManager/log/index.md"},c=a("",111),t=[c];function r(h,v,o,n,f,u){return l(),i("div",null,t)}const p=e(d,[["render",r]]);export{x as __pageData,p as default};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{_ as l,o as e,c as i,a}from"./app.33820b61.js";const x=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v2.0.6","slug":"v2-0-6","link":"#v2-0-6","children":[]},{"level":2,"title":"v2.0.5","slug":"v2-0-5","link":"#v2-0-5","children":[]},{"level":2,"title":"v2.0.4","slug":"v2-0-4","link":"#v2-0-4","children":[]},{"level":2,"title":"v2.0.3","slug":"v2-0-3","link":"#v2-0-3","children":[]},{"level":2,"title":"v2.0.2","slug":"v2-0-2","link":"#v2-0-2","children":[]},{"level":2,"title":"v2.0.1","slug":"v2-0-1","link":"#v2-0-1","children":[]},{"level":2,"title":"v2.0.0","slug":"v2-0-0","link":"#v2-0-0","children":[]},{"level":2,"title":"v1.4.7","slug":"v1-4-7","link":"#v1-4-7","children":[]},{"level":2,"title":"v1.4.6","slug":"v1-4-6","link":"#v1-4-6","children":[]},{"level":2,"title":"v1.4.5","slug":"v1-4-5","link":"#v1-4-5","children":[]},{"level":2,"title":"v1.4.4","slug":"v1-4-4","link":"#v1-4-4","children":[]},{"level":2,"title":"v1.4.3","slug":"v1-4-3","link":"#v1-4-3","children":[]},{"level":2,"title":"v1.4.2","slug":"v1-4-2","link":"#v1-4-2","children":[]},{"level":2,"title":"v1.4.1","slug":"v1-4-1","link":"#v1-4-1","children":[]},{"level":2,"title":"v1.4.0","slug":"v1-4-0","link":"#v1-4-0","children":[]},{"level":2,"title":"v1.3.4","slug":"v1-3-4","link":"#v1-3-4","children":[]},{"level":2,"title":"v1.3.3","slug":"v1-3-3","link":"#v1-3-3","children":[]},{"level":2,"title":"v1.3.2","slug":"v1-3-2","link":"#v1-3-2","children":[]},{"level":2,"title":"v1.3.1","slug":"v1-3-1","link":"#v1-3-1","children":[]},{"level":2,"title":"v1.3.0","slug":"v1-3-0","link":"#v1-3-0","children":[]},{"level":2,"title":"v1.2.3","slug":"v1-2-3","link":"#v1-2-3","children":[]},{"level":2,"title":"v1.2.2","slug":"v1-2-2","link":"#v1-2-2","children":[]},{"level":2,"title":"v1.2.1","slug":"v1-2-1","link":"#v1-2-1","children":[]},{"level":2,"title":"v1.2.0","slug":"v1-2-0","link":"#v1-2-0","children":[]},{"level":2,"title":"v1.1.7","slug":"v1-1-7","link":"#v1-1-7","children":[]},{"level":2,"title":"v1.1.6","slug":"v1-1-6","link":"#v1-1-6","children":[]},{"level":2,"title":"v1.1.5","slug":"v1-1-5","link":"#v1-1-5","children":[]},{"level":2,"title":"v1.1.4","slug":"v1-1-4","link":"#v1-1-4","children":[]},{"level":2,"title":"v1.1.3","slug":"v1-1-3","link":"#v1-1-3","children":[]},{"level":2,"title":"v1.1.2","slug":"v1-1-2","link":"#v1-1-2","children":[]},{"level":2,"title":"v1.1.1","slug":"v1-1-1","link":"#v1-1-1","children":[]},{"level":2,"title":"v1.1.0","slug":"v1-1-0","link":"#v1-1-0","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/ClipboardManager/log/index.md","lastUpdated":1676979063000}'),d={name:"project/ClipboardManager/log/index.md"},c=a("",114),t=[c];function r(h,v,n,o,f,u){return e(),i("div",null,t)}const p=l(d,[["render",r]]);export{x as __pageData,p as default};

View File

@ -1 +1 @@
import{_ as e,o as a,c as l,a as i}from"./app.33820b61.js";const g=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[{"level":2,"title":"为什么偶尔CPU占用特别高? 为什么预览图片时插件卡顿?","slug":"为什么偶尔cpu占用特别高-为什么预览图片时插件卡顿","link":"#为什么偶尔cpu占用特别高-为什么预览图片时插件卡顿","children":[]},{"level":2,"title":"为什么官方的剪贴板插件没有CPU占用高这个问题?","slug":"为什么官方的剪贴板插件没有cpu占用高这个问题","link":"#为什么官方的剪贴板插件没有cpu占用高这个问题","children":[]},{"level":2,"title":"启动报错, 读取剪切板出错","slug":"启动报错-读取剪切板出错","link":"#启动报错-读取剪切板出错","children":[]},{"level":2,"title":"为什么剪贴板记录会丢失?","slug":"为什么剪贴板记录会丢失","link":"#为什么剪贴板记录会丢失","children":[]},{"level":2,"title":"我对这个插件的安全性有担忧, 插件偷窃我的隐私怎么办?","slug":"我对这个插件的安全性有担忧-插件偷窃我的隐私怎么办","link":"#我对这个插件的安全性有担忧-插件偷窃我的隐私怎么办","children":[]},{"level":2,"title":"我不懂代码, 我也不会构建, 但是我担心你的插件会窃取我的隐私","slug":"我不懂代码-我也不会构建-但是我担心你的插件会窃取我的隐私","link":"#我不懂代码-我也不会构建-但是我担心你的插件会窃取我的隐私","children":[]},{"level":2,"title":"开源版本和插件市场版本的区别?","slug":"开源版本和插件市场版本的区别","link":"#开源版本和插件市场版本的区别","children":[]},{"level":2,"title":"为什么不开源了, 为什么要开始收费?","slug":"为什么不开源了-为什么要开始收费","link":"#为什么不开源了-为什么要开始收费","children":[]}],"relativePath":"project/ClipboardManager/statement/index.md","lastUpdated":1676737739000}'),r={name:"project/ClipboardManager/statement/index.md"},t=i("",28),d=[t];function n(o,c,h,s,p,u){return a(),l("div",null,d)}const f=e(r,[["render",n]]);export{g as __pageData,f as default};
import{_ as e,o as a,c as l,a as i}from"./app.33820b61.js";const g=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[{"level":2,"title":"为什么偶尔CPU占用特别高? 为什么预览图片时插件卡顿?","slug":"为什么偶尔cpu占用特别高-为什么预览图片时插件卡顿","link":"#为什么偶尔cpu占用特别高-为什么预览图片时插件卡顿","children":[]},{"level":2,"title":"为什么官方的剪贴板插件没有CPU占用高这个问题?","slug":"为什么官方的剪贴板插件没有cpu占用高这个问题","link":"#为什么官方的剪贴板插件没有cpu占用高这个问题","children":[]},{"level":2,"title":"启动报错, 读取剪切板出错","slug":"启动报错-读取剪切板出错","link":"#启动报错-读取剪切板出错","children":[]},{"level":2,"title":"为什么剪贴板记录会丢失?","slug":"为什么剪贴板记录会丢失","link":"#为什么剪贴板记录会丢失","children":[]},{"level":2,"title":"我对这个插件的安全性有担忧, 插件偷窃我的隐私怎么办?","slug":"我对这个插件的安全性有担忧-插件偷窃我的隐私怎么办","link":"#我对这个插件的安全性有担忧-插件偷窃我的隐私怎么办","children":[]},{"level":2,"title":"我不懂代码, 我也不会构建, 但是我担心你的插件会窃取我的隐私","slug":"我不懂代码-我也不会构建-但是我担心你的插件会窃取我的隐私","link":"#我不懂代码-我也不会构建-但是我担心你的插件会窃取我的隐私","children":[]},{"level":2,"title":"开源版本和插件市场版本的区别?","slug":"开源版本和插件市场版本的区别","link":"#开源版本和插件市场版本的区别","children":[]},{"level":2,"title":"为什么不开源了, 为什么要开始收费?","slug":"为什么不开源了-为什么要开始收费","link":"#为什么不开源了-为什么要开始收费","children":[]}],"relativePath":"project/ClipboardManager/statement/index.md","lastUpdated":1676979063000}'),r={name:"project/ClipboardManager/statement/index.md"},t=i("",28),d=[t];function n(o,c,h,s,p,u){return a(),l("div",null,d)}const f=e(r,[["render",n]]);export{g as __pageData,f as default};

View File

@ -1 +1 @@
import{_ as a,r as n,o as c,c as d,b as e,d as t,e as o,a as i}from"./app.33820b61.js";const s="/assets/vip-webdav.2e7c539c.png",r="/assets/vip-highlight.e3827906.png",B=JSON.parse('{"title":"插件会员","description":"","frontmatter":{},"headers":[{"level":2,"title":"会员权益","slug":"会员权益","link":"#会员权益","children":[]},{"level":2,"title":"会员定价","slug":"会员定价","link":"#会员定价","children":[]},{"level":2,"title":"WebDav同步功能","slug":"webdav同步功能","link":"#webdav同步功能","children":[]},{"level":2,"title":"代码高亮功能","slug":"代码高亮功能","link":"#代码高亮功能","children":[]},{"level":2,"title":"更多内容","slug":"更多内容","link":"#更多内容","children":[]}],"relativePath":"project/ClipboardManager/vip/index.md","lastUpdated":1676737739000}'),p={name:"project/ClipboardManager/vip/index.md"},h=i("",3),_=e("strong",null,"插件会员",-1),u=e("code",null,"WebDav数据多端同步",-1),g=e("code",null,"支持保存2000条历史记录",-1),b=e("code",null,"不限制历史记录过期时间",-1),m=e("code",null,"文本内容增强, 按住Ctrl/Command点击文本/链接 可以直接预览/跳转",-1),v=e("code",null,"图片预览增强, 按住Ctrl/Command点击图片 可以直接预览",-1),k=e("code",null,"文件预览增强, 按住Ctrl/Command点击文件 可以打开其所在文件夹",-1),f=e("code",null,"自定义分类排序",-1),x=e("code",null,"预览页代码高亮",-1),T=e("code",null,"关闭剪贴板图片记录",-1),C=e("code",null,"插件使用统计",-1),D=e("li",null,[e("strong",null,"...")],-1),y=e("strong",null,"uTools会员",-1),N=e("code",null,"插件使用统计",-1),w=i("",21);function W(j,S,V,A,I,P){const l=n("Badge");return c(),d("div",null,[h,e("ul",null,[e("li",null,[_,e("ul",null,[e("li",null,[u,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[g,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[b,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[m,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[v,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[k,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[f,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[x,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[T,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[C,t(),o(l,{type:"tip",text:"已上线"})]),D])]),e("li",null,[y,e("ul",null,[e("li",null,[N,t(),o(l,{type:"tip",text:"已上线"})])])])]),w])}const R=a(p,[["render",W]]);export{B as __pageData,R as default};
import{_ as a,r as n,o as c,c as d,b as e,d as t,e as o,a as i}from"./app.33820b61.js";const s="/assets/vip-webdav.2e7c539c.png",r="/assets/vip-highlight.e3827906.png",B=JSON.parse('{"title":"插件会员","description":"","frontmatter":{},"headers":[{"level":2,"title":"会员权益","slug":"会员权益","link":"#会员权益","children":[]},{"level":2,"title":"会员定价","slug":"会员定价","link":"#会员定价","children":[]},{"level":2,"title":"WebDav同步功能","slug":"webdav同步功能","link":"#webdav同步功能","children":[]},{"level":2,"title":"代码高亮功能","slug":"代码高亮功能","link":"#代码高亮功能","children":[]},{"level":2,"title":"更多内容","slug":"更多内容","link":"#更多内容","children":[]}],"relativePath":"project/ClipboardManager/vip/index.md","lastUpdated":1676979063000}'),p={name:"project/ClipboardManager/vip/index.md"},h=i("",3),_=e("strong",null,"插件会员",-1),u=e("code",null,"WebDav数据多端同步",-1),g=e("code",null,"支持保存2000条历史记录",-1),b=e("code",null,"不限制历史记录过期时间",-1),m=e("code",null,"文本内容增强, 按住Ctrl/Command点击文本/链接 可以直接预览/跳转",-1),v=e("code",null,"图片预览增强, 按住Ctrl/Command点击图片 可以直接预览",-1),k=e("code",null,"文件预览增强, 按住Ctrl/Command点击文件 可以打开其所在文件夹",-1),f=e("code",null,"自定义分类排序",-1),x=e("code",null,"预览页代码高亮",-1),T=e("code",null,"关闭剪贴板图片记录",-1),C=e("code",null,"插件使用统计",-1),D=e("li",null,[e("strong",null,"...")],-1),y=e("strong",null,"uTools会员",-1),N=e("code",null,"插件使用统计",-1),w=i("",21);function W(j,S,V,A,I,P){const l=n("Badge");return c(),d("div",null,[h,e("ul",null,[e("li",null,[_,e("ul",null,[e("li",null,[u,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[g,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[b,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[m,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[v,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[k,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[f,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[x,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[T,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[C,t(),o(l,{type:"tip",text:"已上线"})]),D])]),e("li",null,[y,e("ul",null,[e("li",null,[N,t(),o(l,{type:"tip",text:"已上线"})])])])]),w])}const R=a(p,[["render",W]]);export{B as __pageData,R as default};

View File

@ -1 +1 @@
import{r as a,o as l,c as i,e as r,n,g as s,a as o}from"./app.33820b61.js";const c="/assets/img1.c8b019e1.png",d="/assets/img2.e389ad4d.png",_="/assets/logo.b98f7a12.png",p=o('<h2 id="🔰-开始使用" tabindex="-1">🔰 开始使用 <a class="header-anchor" href="#🔰-开始使用" aria-hidden="true">#</a></h2><p><strong>服务器不会保留处理的数据, 但请避免使用此功能处理敏感数据</strong></p><ul><li>✅ 支持选中文本后通过超级面板直接进入分词</li><li>✅ 支持直接读取剪贴板文本分词</li><li>✅ 支持单选/拖拽/跨段落快速拖选</li><li>✅ 支持一键合并复制/粘贴/翻译/搜索</li><li>✅ 普通用户有每日免费额度 每日0:00重置</li><li>✅ 优雅、迅速的动效与交互 适配深色模式</li><li>✅ 可以通过插件内入口获取更多额度</li><li>✅ 与<code>超级剪贴板</code>插件集成,一次购买 多处使用</li></ul><hr><p><img src="'+c+'" alt=""></p><p><img src="'+d+'" alt=""></p><h2 id="📚-安装方式" tabindex="-1">📚 安装方式 <a class="header-anchor" href="#📚-安装方式" aria-hidden="true">#</a></h2><ul><li>官方插件市场安装</li><li>离线插件安装:<a href="https://pan.baidu.com/s/1Shq6mtU9tjhICvcawrp9Ug?pwd=Ziuc" target="_blank" rel="noreferrer">百度网盘</a></li></ul>',8),b=JSON.parse('{"title":"超级分词","description":"","frontmatter":{"title":"超级分词","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/SmartWordBreak/index.md","lastUpdated":1676737739000}'),h={name:"project/SmartWordBreak/index.md"},T=Object.assign(h,{setup(g){const e={subTitle:"✨ 智慧分词,快速提取文本关键词。",logo:_,linkList:[{content:"⭐ 插件发布页",target:"https://yuanliao.info/d/5722/29"},{content:"🌎 Q&A",target:"./statement/"},{content:"🚚 更新日志",target:"./log/"}]};return(m,u)=>{const t=a("Title");return l(),i("div",null,[r(t,n(s(e)),null,16),p])}}});export{b as __pageData,T as default};
import{r as a,o as l,c as i,e as r,n,g as s,a as o}from"./app.33820b61.js";const c="/assets/img1.c8b019e1.png",d="/assets/img2.e389ad4d.png",_="/assets/logo.b98f7a12.png",p=o('<h2 id="🔰-开始使用" tabindex="-1">🔰 开始使用 <a class="header-anchor" href="#🔰-开始使用" aria-hidden="true">#</a></h2><p><strong>服务器不会保留处理的数据, 但请避免使用此功能处理敏感数据</strong></p><ul><li>✅ 支持选中文本后通过超级面板直接进入分词</li><li>✅ 支持直接读取剪贴板文本分词</li><li>✅ 支持单选/拖拽/跨段落快速拖选</li><li>✅ 支持一键合并复制/粘贴/翻译/搜索</li><li>✅ 普通用户有每日免费额度 每日0:00重置</li><li>✅ 优雅、迅速的动效与交互 适配深色模式</li><li>✅ 可以通过插件内入口获取更多额度</li><li>✅ 与<code>超级剪贴板</code>插件集成,一次购买 多处使用</li></ul><hr><p><img src="'+c+'" alt=""></p><p><img src="'+d+'" alt=""></p><h2 id="📚-安装方式" tabindex="-1">📚 安装方式 <a class="header-anchor" href="#📚-安装方式" aria-hidden="true">#</a></h2><ul><li>官方插件市场安装</li><li>离线插件安装:<a href="https://pan.baidu.com/s/1Shq6mtU9tjhICvcawrp9Ug?pwd=Ziuc" target="_blank" rel="noreferrer">百度网盘</a></li></ul>',8),b=JSON.parse('{"title":"超级分词","description":"","frontmatter":{"title":"超级分词","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/SmartWordBreak/index.md","lastUpdated":1676979063000}'),h={name:"project/SmartWordBreak/index.md"},T=Object.assign(h,{setup(g){const e={subTitle:"✨ 智慧分词,快速提取文本关键词。",logo:_,linkList:[{content:"⭐ 插件发布页",target:"https://yuanliao.info/d/5722/29"},{content:"🌎 Q&A",target:"./statement/"},{content:"🚚 更新日志",target:"./log/"}]};return(m,u)=>{const t=a("Title");return l(),i("div",null,[r(t,n(s(e)),null,16),p])}}});export{b as __pageData,T as default};

View File

@ -1 +1 @@
import{r as a,o as l,c as i,e as r,n,g as s,a as o}from"./app.33820b61.js";const c="/assets/img1.c8b019e1.png",d="/assets/img2.e389ad4d.png",_="/assets/logo.b98f7a12.png",p=o("",8),b=JSON.parse('{"title":"超级分词","description":"","frontmatter":{"title":"超级分词","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/SmartWordBreak/index.md","lastUpdated":1676737739000}'),h={name:"project/SmartWordBreak/index.md"},T=Object.assign(h,{setup(g){const e={subTitle:"✨ 智慧分词,快速提取文本关键词。",logo:_,linkList:[{content:"⭐ 插件发布页",target:"https://yuanliao.info/d/5722/29"},{content:"🌎 Q&A",target:"./statement/"},{content:"🚚 更新日志",target:"./log/"}]};return(m,u)=>{const t=a("Title");return l(),i("div",null,[r(t,n(s(e)),null,16),p])}}});export{b as __pageData,T as default};
import{r as a,o as l,c as i,e as r,n,g as s,a as o}from"./app.33820b61.js";const c="/assets/img1.c8b019e1.png",d="/assets/img2.e389ad4d.png",_="/assets/logo.b98f7a12.png",p=o("",8),b=JSON.parse('{"title":"超级分词","description":"","frontmatter":{"title":"超级分词","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/SmartWordBreak/index.md","lastUpdated":1676979063000}'),h={name:"project/SmartWordBreak/index.md"},T=Object.assign(h,{setup(g){const e={subTitle:"✨ 智慧分词,快速提取文本关键词。",logo:_,linkList:[{content:"⭐ 插件发布页",target:"https://yuanliao.info/d/5722/29"},{content:"🌎 Q&A",target:"./statement/"},{content:"🚚 更新日志",target:"./log/"}]};return(m,u)=>{const t=a("Title");return l(),i("div",null,[r(t,n(s(e)),null,16),p])}}});export{b as __pageData,T as default};

View File

@ -1 +1 @@
import{_ as e,o as a,c as l,a as i}from"./app.33820b61.js";const f=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.0.5","slug":"v1-0-5","link":"#v1-0-5","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/SmartWordBreak/log/index.md","lastUpdated":1676737739000}'),d={name:"project/SmartWordBreak/log/index.md"},t=i('<h1 id="更新日志" tabindex="-1">更新日志 <a class="header-anchor" href="#更新日志" aria-hidden="true">#</a></h1><h2 id="v1-0-5" tabindex="-1">v1.0.5 <a class="header-anchor" href="#v1-0-5" aria-hidden="true">#</a></h2><p><code>2022-12-17</code></p><ul><li>feat: 限免活动 每日免费额度调整为99 移除充值入口</li><li>fix: 修复历史记录显示问题</li></ul><h2 id="v1-0-4" tabindex="-1">v1.0.4 <a class="header-anchor" href="#v1-0-4" aria-hidden="true">#</a></h2><p><code>2022-09-25</code></p><ul><li>feat: 分词上限提高到了1000个字符</li><li>feat: token支持本地缓存</li></ul><h2 id="v1-0-3" tabindex="-1">v1.0.3 <a class="header-anchor" href="#v1-0-3" aria-hidden="true">#</a></h2><p><code>2022-09-19</code></p><ul><li>feat: 增加历史记录功能</li><li>fix: 移除了在tag外按下鼠标拖选的功能</li></ul><h2 id="v1-0-2" tabindex="-1">v1.0.2 <a class="header-anchor" href="#v1-0-2" aria-hidden="true">#</a></h2><p><code>2022-09-13</code></p><ul><li>feat: 支持跨段快速拖选</li><li>feat: 分词页添加了<code>搜索</code>与<code>粘贴</code>功能</li><li>feat: 优化换行符在分词页的表现 支持包含换行符拖选</li></ul><h2 id="v1-0-1" tabindex="-1">v1.0.1 <a class="header-anchor" href="#v1-0-1" aria-hidden="true">#</a></h2><p><code>2022-09-13</code></p><ul><li>feat: 增加了拖选过程中的动效</li><li>feat: 调整了按钮样式与颜色</li><li>fix: 移除了碍事的toast</li></ul><h2 id="v1-0-0" tabindex="-1">v1.0.0 <a class="header-anchor" href="#v1-0-0" aria-hidden="true">#</a></h2><p><code>2022-09-11</code></p><ul><li>release: v1.0.0发布</li></ul>',19),r=[t];function c(n,h,o,v,s,u){return a(),l("div",null,r)}const p=e(d,[["render",c]]);export{f as __pageData,p as default};
import{_ as e,o as a,c as l,a as i}from"./app.33820b61.js";const f=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.0.5","slug":"v1-0-5","link":"#v1-0-5","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/SmartWordBreak/log/index.md","lastUpdated":1676979063000}'),d={name:"project/SmartWordBreak/log/index.md"},t=i('<h1 id="更新日志" tabindex="-1">更新日志 <a class="header-anchor" href="#更新日志" aria-hidden="true">#</a></h1><h2 id="v1-0-5" tabindex="-1">v1.0.5 <a class="header-anchor" href="#v1-0-5" aria-hidden="true">#</a></h2><p><code>2022-12-17</code></p><ul><li>feat: 限免活动 每日免费额度调整为99 移除充值入口</li><li>fix: 修复历史记录显示问题</li></ul><h2 id="v1-0-4" tabindex="-1">v1.0.4 <a class="header-anchor" href="#v1-0-4" aria-hidden="true">#</a></h2><p><code>2022-09-25</code></p><ul><li>feat: 分词上限提高到了1000个字符</li><li>feat: token支持本地缓存</li></ul><h2 id="v1-0-3" tabindex="-1">v1.0.3 <a class="header-anchor" href="#v1-0-3" aria-hidden="true">#</a></h2><p><code>2022-09-19</code></p><ul><li>feat: 增加历史记录功能</li><li>fix: 移除了在tag外按下鼠标拖选的功能</li></ul><h2 id="v1-0-2" tabindex="-1">v1.0.2 <a class="header-anchor" href="#v1-0-2" aria-hidden="true">#</a></h2><p><code>2022-09-13</code></p><ul><li>feat: 支持跨段快速拖选</li><li>feat: 分词页添加了<code>搜索</code>与<code>粘贴</code>功能</li><li>feat: 优化换行符在分词页的表现 支持包含换行符拖选</li></ul><h2 id="v1-0-1" tabindex="-1">v1.0.1 <a class="header-anchor" href="#v1-0-1" aria-hidden="true">#</a></h2><p><code>2022-09-13</code></p><ul><li>feat: 增加了拖选过程中的动效</li><li>feat: 调整了按钮样式与颜色</li><li>fix: 移除了碍事的toast</li></ul><h2 id="v1-0-0" tabindex="-1">v1.0.0 <a class="header-anchor" href="#v1-0-0" aria-hidden="true">#</a></h2><p><code>2022-09-11</code></p><ul><li>release: v1.0.0发布</li></ul>',19),r=[t];function c(n,h,o,v,s,u){return a(),l("div",null,r)}const p=e(d,[["render",c]]);export{f as __pageData,p as default};

View File

@ -1 +1 @@
import{_ as e,o as a,c as l,a as i}from"./app.33820b61.js";const f=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.0.5","slug":"v1-0-5","link":"#v1-0-5","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/SmartWordBreak/log/index.md","lastUpdated":1676737739000}'),d={name:"project/SmartWordBreak/log/index.md"},t=i("",19),r=[t];function c(n,h,o,v,s,u){return a(),l("div",null,r)}const p=e(d,[["render",c]]);export{f as __pageData,p as default};
import{_ as e,o as a,c as l,a as i}from"./app.33820b61.js";const f=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.0.5","slug":"v1-0-5","link":"#v1-0-5","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/SmartWordBreak/log/index.md","lastUpdated":1676979063000}'),d={name:"project/SmartWordBreak/log/index.md"},t=i("",19),r=[t];function c(n,h,o,v,s,u){return a(),l("div",null,r)}const p=e(d,[["render",c]]);export{f as __pageData,p as default};

View File

@ -1 +1 @@
import{_ as e,o as a,c as o,a as t}from"./app.33820b61.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1676737739000}'),i={name:"project/SmartWordBreak/statement/index.md"},l=t('<h1 id="q-a" tabindex="-1">Q&amp;A <a class="header-anchor" href="#q-a" aria-hidden="true">#</a></h1><ul><li>Q: 为什么要收费</li><li>A: 此功能需要服务器资源, 而服务器资源有限, 故暂时只开放部分的免费资源给大家使用, 普通用户每日有部分免费额度, 额度每日0:00重置</li></ul><hr><ul><li>Q: 我支付了,但是没有收到额度</li><li>A: 支付成功后,插件会自动获取最新用户信息,如果信息没有自动更新,请尝试退出插件后重新进入,如果仍未收到额度,请加入<a href="https://qm.qq.com/cgi-bin/qm/qr?k=9qfHKTaQuWqYN1ys1yiQPdJ4iIlHwgL5&amp;jump_from=webapi" target="_blank" rel="noreferrer">QQ群 769115389</a>并联系我,我会尽快核实并为你解决</li></ul><hr><ul><li>Q: 我之前赞赏过,可以有优惠吗</li><li>A: 2022年9月13日0:00前赞赏过我的uTools用户请发送 <ul><li><code>UUID</code>(超级分词插件内展示)</li><li><code>赞赏金额</code></li><li><code>赞赏时间</code></li><li><code>支付截图</code></li></ul></li><li>到邮箱<code>ZiuChen@outlook.com</code>,邮箱主题为:<code>申请超级分词赞赏额度</code>,我将在核实后为你提供<code>赞赏金额+15%</code>的额度,感谢你的支持!💖。</li></ul>',6),r=[l];function c(d,n,s,_,m,p){return a(),o("div",null,r)}const f=e(i,[["render",c]]);export{h as __pageData,f as default};
import{_ as e,o as a,c as o,a as t}from"./app.33820b61.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1676979063000}'),i={name:"project/SmartWordBreak/statement/index.md"},l=t('<h1 id="q-a" tabindex="-1">Q&amp;A <a class="header-anchor" href="#q-a" aria-hidden="true">#</a></h1><ul><li>Q: 为什么要收费</li><li>A: 此功能需要服务器资源, 而服务器资源有限, 故暂时只开放部分的免费资源给大家使用, 普通用户每日有部分免费额度, 额度每日0:00重置</li></ul><hr><ul><li>Q: 我支付了,但是没有收到额度</li><li>A: 支付成功后,插件会自动获取最新用户信息,如果信息没有自动更新,请尝试退出插件后重新进入,如果仍未收到额度,请加入<a href="https://qm.qq.com/cgi-bin/qm/qr?k=9qfHKTaQuWqYN1ys1yiQPdJ4iIlHwgL5&amp;jump_from=webapi" target="_blank" rel="noreferrer">QQ群 769115389</a>并联系我,我会尽快核实并为你解决</li></ul><hr><ul><li>Q: 我之前赞赏过,可以有优惠吗</li><li>A: 2022年9月13日0:00前赞赏过我的uTools用户请发送 <ul><li><code>UUID</code>(超级分词插件内展示)</li><li><code>赞赏金额</code></li><li><code>赞赏时间</code></li><li><code>支付截图</code></li></ul></li><li>到邮箱<code>ZiuChen@outlook.com</code>,邮箱主题为:<code>申请超级分词赞赏额度</code>,我将在核实后为你提供<code>赞赏金额+15%</code>的额度,感谢你的支持!💖。</li></ul>',6),r=[l];function c(d,n,s,_,m,p){return a(),o("div",null,r)}const f=e(i,[["render",c]]);export{h as __pageData,f as default};

View File

@ -1 +1 @@
import{_ as e,o as a,c as o,a as t}from"./app.33820b61.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1676737739000}'),i={name:"project/SmartWordBreak/statement/index.md"},l=t("",6),r=[l];function c(d,n,s,_,m,p){return a(),o("div",null,r)}const f=e(i,[["render",c]]);export{h as __pageData,f as default};
import{_ as e,o as a,c as o,a as t}from"./app.33820b61.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1676979063000}'),i={name:"project/SmartWordBreak/statement/index.md"},l=t("",6),r=[l];function c(d,n,s,_,m,p){return a(),o("div",null,r)}const f=e(i,[["render",c]]);export{h as __pageData,f as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{_ as e,o,c as a,a as l}from"./app.33820b61.js";const t="/logo.png",i="/assets/2.7aeaaf23.png",s="/assets/1.136ffa4a.png",_=JSON.parse('{"title":"个人介绍","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"技术栈","slug":"技术栈","link":"#技术栈","children":[{"level":3,"title":"前端技术","slug":"前端技术","link":"#前端技术","children":[]},{"level":3,"title":"后端技术","slug":"后端技术","link":"#后端技术","children":[]},{"level":3,"title":"相关技能","slug":"相关技能","link":"#相关技能","children":[]}]},{"level":2,"title":"获得奖项","slug":"获得奖项","link":"#获得奖项","children":[{"level":3,"title":"Microsoft Edge 浏览器开拓者大赛 开拓之星","slug":"microsoft-edge-浏览器开拓者大赛-开拓之星","link":"#microsoft-edge-浏览器开拓者大赛-开拓之星","children":[]},{"level":3,"title":"稀土掘金2022编程挑战赛 三等奖","slug":"稀土掘金2022编程挑战赛-三等奖","link":"#稀土掘金2022编程挑战赛-三等奖","children":[]},{"level":3,"title":"入选“扬帆计划·中央和国家机关大学生实习”","slug":"入选-扬帆计划·中央和国家机关大学生实习","link":"#入选-扬帆计划·中央和国家机关大学生实习","children":[]},{"level":3,"title":"100周年现场志愿者","slug":"_100周年现场志愿者","link":"#_100周年现场志愿者","children":[]},{"level":3,"title":"优秀学生干部、优秀共青团员","slug":"优秀学生干部、优秀共青团员","link":"#优秀学生干部、优秀共青团员","children":[]},{"level":3,"title":"社会工作优秀奖学金","slug":"社会工作优秀奖学金","link":"#社会工作优秀奖学金","children":[]}]},{"level":2,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}],"relativePath":"self/index.md","lastUpdated":1676737739000}'),r={name:"self/index.md"},d=l("",35),c=[d];function h(g,p,n,m,f,u){return o(),a("div",null,c)}const C=e(r,[["render",h]]);export{_ as __pageData,C as default};
import{_ as e,o,c as a,a as l}from"./app.33820b61.js";const t="/logo.png",i="/assets/2.7aeaaf23.png",s="/assets/1.136ffa4a.png",_=JSON.parse('{"title":"个人介绍","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"技术栈","slug":"技术栈","link":"#技术栈","children":[{"level":3,"title":"前端技术","slug":"前端技术","link":"#前端技术","children":[]},{"level":3,"title":"后端技术","slug":"后端技术","link":"#后端技术","children":[]},{"level":3,"title":"相关技能","slug":"相关技能","link":"#相关技能","children":[]}]},{"level":2,"title":"获得奖项","slug":"获得奖项","link":"#获得奖项","children":[{"level":3,"title":"Microsoft Edge 浏览器开拓者大赛 开拓之星","slug":"microsoft-edge-浏览器开拓者大赛-开拓之星","link":"#microsoft-edge-浏览器开拓者大赛-开拓之星","children":[]},{"level":3,"title":"稀土掘金2022编程挑战赛 三等奖","slug":"稀土掘金2022编程挑战赛-三等奖","link":"#稀土掘金2022编程挑战赛-三等奖","children":[]},{"level":3,"title":"入选“扬帆计划·中央和国家机关大学生实习”","slug":"入选-扬帆计划·中央和国家机关大学生实习","link":"#入选-扬帆计划·中央和国家机关大学生实习","children":[]},{"level":3,"title":"100周年现场志愿者","slug":"_100周年现场志愿者","link":"#_100周年现场志愿者","children":[]},{"level":3,"title":"优秀学生干部、优秀共青团员","slug":"优秀学生干部、优秀共青团员","link":"#优秀学生干部、优秀共青团员","children":[]},{"level":3,"title":"社会工作优秀奖学金","slug":"社会工作优秀奖学金","link":"#社会工作优秀奖学金","children":[]}]},{"level":2,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}],"relativePath":"self/index.md","lastUpdated":1676979063000}'),r={name:"self/index.md"},d=l("",35),c=[d];function h(g,p,n,m,f,u){return o(),a("div",null,c)}const C=e(r,[["render",h]]);export{_ as __pageData,C as default};

View File

@ -1 +1 @@
import{_ as e,o as r,c as a,a as t}from"./app.33820b61.js";const f=JSON.parse('{"title":"社区贡献","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"稀土掘金助手","slug":"稀土掘金助手","link":"#稀土掘金助手","children":[]},{"level":2,"title":"B站粉丝牌助手文档","slug":"b站粉丝牌助手文档","link":"#b站粉丝牌助手文档","children":[]}],"relativePath":"works/contribution.md","lastUpdated":1676737739000}'),n={name:"works/contribution.md"},i=t('<h1 id="社区贡献" tabindex="-1">社区贡献 <a class="header-anchor" href="#社区贡献" aria-hidden="true">#</a></h1><h2 id="稀土掘金助手" tabindex="-1">稀土掘金助手 <a class="header-anchor" href="#稀土掘金助手" aria-hidden="true">#</a></h2><p>稀土掘金助手: 腾讯云函数部署</p><p><a href="https://github.com/ZiuChen/juejin-helper-SCF" target="_blank" rel="noreferrer">源代码</a></p><h2 id="b站粉丝牌助手文档" tabindex="-1">B站粉丝牌助手文档 <a class="header-anchor" href="#b站粉丝牌助手文档" aria-hidden="true">#</a></h2><p>B站粉丝牌助手文档</p><p><a href="https://github.com/ZiuChen/fansMedalHelperVersion" target="_blank" rel="noreferrer">源代码</a><a href="https://ziuchen.github.io/fansMedalHelperVersion/" target="_blank" rel="noreferrer">Demo</a></p>',7),o=[i];function s(h,l,d,c,_,p){return r(),a("div",null,o)}const b=e(n,[["render",s]]);export{f as __pageData,b as default};
import{_ as e,o as r,c as a,a as t}from"./app.33820b61.js";const f=JSON.parse('{"title":"社区贡献","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"稀土掘金助手","slug":"稀土掘金助手","link":"#稀土掘金助手","children":[]},{"level":2,"title":"B站粉丝牌助手文档","slug":"b站粉丝牌助手文档","link":"#b站粉丝牌助手文档","children":[]}],"relativePath":"works/contribution.md","lastUpdated":1676979063000}'),n={name:"works/contribution.md"},i=t('<h1 id="社区贡献" tabindex="-1">社区贡献 <a class="header-anchor" href="#社区贡献" aria-hidden="true">#</a></h1><h2 id="稀土掘金助手" tabindex="-1">稀土掘金助手 <a class="header-anchor" href="#稀土掘金助手" aria-hidden="true">#</a></h2><p>稀土掘金助手: 腾讯云函数部署</p><p><a href="https://github.com/ZiuChen/juejin-helper-SCF" target="_blank" rel="noreferrer">源代码</a></p><h2 id="b站粉丝牌助手文档" tabindex="-1">B站粉丝牌助手文档 <a class="header-anchor" href="#b站粉丝牌助手文档" aria-hidden="true">#</a></h2><p>B站粉丝牌助手文档</p><p><a href="https://github.com/ZiuChen/fansMedalHelperVersion" target="_blank" rel="noreferrer">源代码</a><a href="https://ziuchen.github.io/fansMedalHelperVersion/" target="_blank" rel="noreferrer">Demo</a></p>',7),o=[i];function s(h,l,d,c,_,p){return r(),a("div",null,o)}const b=e(n,[["render",s]]);export{f as __pageData,b as default};

View File

@ -1 +1 @@
import{_ as e,o as r,c as a,a as t}from"./app.33820b61.js";const f=JSON.parse('{"title":"社区贡献","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"稀土掘金助手","slug":"稀土掘金助手","link":"#稀土掘金助手","children":[]},{"level":2,"title":"B站粉丝牌助手文档","slug":"b站粉丝牌助手文档","link":"#b站粉丝牌助手文档","children":[]}],"relativePath":"works/contribution.md","lastUpdated":1676737739000}'),n={name:"works/contribution.md"},i=t("",7),o=[i];function s(h,l,d,c,_,p){return r(),a("div",null,o)}const b=e(n,[["render",s]]);export{f as __pageData,b as default};
import{_ as e,o as r,c as a,a as t}from"./app.33820b61.js";const f=JSON.parse('{"title":"社区贡献","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"稀土掘金助手","slug":"稀土掘金助手","link":"#稀土掘金助手","children":[]},{"level":2,"title":"B站粉丝牌助手文档","slug":"b站粉丝牌助手文档","link":"#b站粉丝牌助手文档","children":[]}],"relativePath":"works/contribution.md","lastUpdated":1676979063000}'),n={name:"works/contribution.md"},i=t("",7),o=[i];function s(h,l,d,c,_,p){return r(),a("div",null,o)}const b=e(n,[["render",s]]);export{f as __pageData,b as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{_ as e,o as r,c as a,a as t}from"./app.33820b61.js";const b=JSON.parse('{"title":"个人作品","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"Vue3+TypeScript后台管理系统","slug":"vue3-typescript后台管理系统","link":"#vue3-typescript后台管理系统","children":[]},{"level":2,"title":"Typein 效率工具集","slug":"typein-效率工具集","link":"#typein-效率工具集","children":[]},{"level":2,"title":"A-SOUL浏览器宠物","slug":"a-soul浏览器宠物","link":"#a-soul浏览器宠物","children":[]},{"level":2,"title":"北京交通大学课程平台功能增强","slug":"北京交通大学课程平台功能增强","link":"#北京交通大学课程平台功能增强","children":[]},{"level":2,"title":"超级剪贴板","slug":"超级剪贴板","link":"#超级剪贴板","children":[]},{"level":2,"title":"超级粘贴","slug":"超级粘贴","link":"#超级粘贴","children":[]},{"level":2,"title":"超级分词","slug":"超级分词","link":"#超级分词","children":[]},{"level":2,"title":"超级连点器","slug":"超级连点器","link":"#超级连点器","children":[]},{"level":2,"title":"PopNotify","slug":"popnotify","link":"#popnotify","children":[]},{"level":2,"title":"UserScripts","slug":"userscripts","link":"#userscripts","children":[]}],"relativePath":"works/opensource.md","lastUpdated":1676737739000}'),i={name:"works/opensource.md"},h=t("",34),n=[h];function l(p,o,s,d,c,u){return r(),a("div",null,n)}const g=e(i,[["render",l]]);export{b as __pageData,g as default};
import{_ as e,o as r,c as a,a as t}from"./app.33820b61.js";const b=JSON.parse('{"title":"个人作品","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"Vue3+TypeScript后台管理系统","slug":"vue3-typescript后台管理系统","link":"#vue3-typescript后台管理系统","children":[]},{"level":2,"title":"Typein 效率工具集","slug":"typein-效率工具集","link":"#typein-效率工具集","children":[]},{"level":2,"title":"A-SOUL浏览器宠物","slug":"a-soul浏览器宠物","link":"#a-soul浏览器宠物","children":[]},{"level":2,"title":"北京交通大学课程平台功能增强","slug":"北京交通大学课程平台功能增强","link":"#北京交通大学课程平台功能增强","children":[]},{"level":2,"title":"超级剪贴板","slug":"超级剪贴板","link":"#超级剪贴板","children":[]},{"level":2,"title":"超级粘贴","slug":"超级粘贴","link":"#超级粘贴","children":[]},{"level":2,"title":"超级分词","slug":"超级分词","link":"#超级分词","children":[]},{"level":2,"title":"超级连点器","slug":"超级连点器","link":"#超级连点器","children":[]},{"level":2,"title":"PopNotify","slug":"popnotify","link":"#popnotify","children":[]},{"level":2,"title":"UserScripts","slug":"userscripts","link":"#userscripts","children":[]}],"relativePath":"works/opensource.md","lastUpdated":1676979063000}'),i={name:"works/opensource.md"},h=t("",34),n=[h];function l(p,o,s,d,c,u){return r(),a("div",null,n)}const g=e(i,[["render",l]]);export{b as __pageData,g as default};

View File

@ -1 +1 @@
{"note_css.md":"2c88cba1","works_contribution.md":"f1f31ee6","works_opensource.md":"d00905f0","note_javascript.md":"6a2d95de","article_【2023】青训营 - 前端练习题汇总解析.md":"87c3ec71","article_【字节跳动】前端面试题总结.md":"11aa2b5a","article_【快手】深入理解前端面试题.md":"5f4ef7a3","article_【用友金融】前端面试题总结.md":"69243f39","article_一文读懂事件冒泡与事件捕获.md":"a9dedb6d","article_一文读懂伪类与伪元素.md":"18a4ea39","article_一文读懂函数中this指向问题.md":"d4e27bc7","article_从0实现一个年度报告.md":"4e06b81d","article_浅析defineproperty与proxy实现的双向绑定.md":"f2072102","article_深入javascript数据类型.md":"ed246d99","article_深入vue3源码看看vue.use后究竟发生了什么.md":"e6b03974","article_深入理解浏览器缓存机制.md":"be15491a","article_深入理解浏览器运行原理.md":"4b1c1d16","index.md":"e391bcbf","note_ssr.md":"eafce674","project_clipboardmanager_index.md":"c8cba791","article_彻底搞懂对象的数据属性描述符、存储属性描述符.md":"9865de7d","project_clipboardmanager_guide_index.md":"cbb1b2e8","project_clipboardmanager_log_index.md":"4ee5fe53","project_clipboardmanager_vip_index.md":"00c8bdb1","project_smartwordbreak_statement_index.md":"08faf5e0","project_smartwordbreak_index.md":"8198941b","project_smartwordbreak_log_index.md":"3ca84f95","note_front-end engineering.md":"e321faed","project_clipboardmanager_statement_index.md":"6751fd19","article_深入理解proxy与reflect.md":"368d9aed","self_index.md":"5b8fe7b6","note_javascriptenhanced.md":"209d0c05"}
{"article_【2023】青训营 - 前端练习题汇总解析.md":"8d7e9b9c","article_深入理解浏览器缓存机制.md":"e7e22bb1","article_从0实现一个年度报告.md":"7ba24283","article_彻底搞懂对象的数据属性描述符、存储属性描述符.md":"b7a6c275","article_浅析defineproperty与proxy实现的双向绑定.md":"02c8f56e","article_深入javascript数据类型.md":"80fd8af0","article_深入vue3源码看看vue.use后究竟发生了什么.md":"cd9b1cff","article_深入理解proxy与reflect.md":"9c5a6cd1","article_深入理解浏览器运行原理.md":"f13b2b23","index.md":"00c51c0e","note_css.md":"a4f3e631","note_javascript.md":"e58e866f","article_一文读懂事件冒泡与事件捕获.md":"c2d9cd1b","note_ssr.md":"5b580a05","note_front-end engineering.md":"939c2eef","project_clipboardmanager_index.md":"fcacbc6c","project_clipboardmanager_log_index.md":"9bd18ae1","project_clipboardmanager_statement_index.md":"fddb5934","project_clipboardmanager_vip_index.md":"8d894bfc","project_smartwordbreak_index.md":"6364a91a","project_smartwordbreak_log_index.md":"02ecbe98","project_smartwordbreak_statement_index.md":"4c33c737","self_index.md":"e7b0b4e0","works_contribution.md":"13a9eaa9","works_opensource.md":"04c9693c","article_【字节跳动】前端面试题总结.md":"8b64abc5","project_clipboardmanager_guide_index.md":"caf90979","article_【快手】深入理解前端面试题.md":"9bd6db9f","article_【用友金融】前端面试题总结.md":"8730c019","article_一文读懂伪类与伪元素.md":"dd034dbf","note_javascriptenhanced.md":"b46ba179","article_一文读懂函数中this指向问题.md":"3025c285"}

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/note_CSS.md.2c88cba1.lean.js">
<link rel="modulepreload" href="/assets/note_CSS.md.a4f3e631.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -492,8 +492,8 @@
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> el </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> document</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">querySelector</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">.item</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">(el</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">dataset</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">age) </span><span style="color:#676E95;font-style:italic;">// 18</span></span>
<span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">(el</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">dataset</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">name) </span><span style="color:#676E95;font-style:italic;">// &#39;ziu&#39;</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><!----><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/note/JavaScript.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>JavaScript基础</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/note/JavaScriptEnhanced.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>JavaScript进阶</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><!----><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/note/JavaScript.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>JavaScript基础</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/note/JavaScriptEnhanced.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>JavaScript进阶</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/note_JavaScriptEnhanced.md.209d0c05.lean.js">
<link rel="modulepreload" href="/assets/note_JavaScriptEnhanced.md.b46ba179.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -2021,8 +2021,8 @@
<span class="line"><span style="color:#82AAFF;">setTimeout</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">()</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=&gt;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">eventBus</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">off</span><span style="color:#F07178;">(</span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">navClick</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">callBack</span><span style="color:#F07178;">) </span><span style="color:#676E95;font-style:italic;">// 移除某个事件的某次回调</span></span>
<span class="line"><span style="color:#89DDFF;">},</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">5000</span><span style="color:#A6ACCD;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br><span class="line-number">36</span><br><span class="line-number">37</span><br><span class="line-number">38</span><br><span class="line-number">39</span><br><span class="line-number">40</span><br><span class="line-number">41</span><br><span class="line-number">42</span><br><span class="line-number">43</span><br><span class="line-number">44</span><br><span class="line-number">45</span><br><span class="line-number">46</span><br><span class="line-number">47</span><br><span class="line-number">48</span><br><span class="line-number">49</span><br><span class="line-number">50</span><br><span class="line-number">51</span><br><span class="line-number">52</span><br><span class="line-number">53</span><br><span class="line-number">54</span><br><span class="line-number">55</span><br><span class="line-number">56</span><br><span class="line-number">57</span><br><span class="line-number">58</span><br><span class="line-number">59</span><br><span class="line-number">60</span><br><span class="line-number">61</span><br><span class="line-number">62</span><br><span class="line-number">63</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><!----><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/note/CSS.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>CSS基础</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/note/Front-end%20Engineering.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>前端工程化</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br><span class="line-number">36</span><br><span class="line-number">37</span><br><span class="line-number">38</span><br><span class="line-number">39</span><br><span class="line-number">40</span><br><span class="line-number">41</span><br><span class="line-number">42</span><br><span class="line-number">43</span><br><span class="line-number">44</span><br><span class="line-number">45</span><br><span class="line-number">46</span><br><span class="line-number">47</span><br><span class="line-number">48</span><br><span class="line-number">49</span><br><span class="line-number">50</span><br><span class="line-number">51</span><br><span class="line-number">52</span><br><span class="line-number">53</span><br><span class="line-number">54</span><br><span class="line-number">55</span><br><span class="line-number">56</span><br><span class="line-number">57</span><br><span class="line-number">58</span><br><span class="line-number">59</span><br><span class="line-number">60</span><br><span class="line-number">61</span><br><span class="line-number">62</span><br><span class="line-number">63</span><br></div></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><!----><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><a class="pager-link prev" href="/note/CSS.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Previous page</span><span class="title" data-v-cc0f9778>CSS基础</span></a></div><div class="has-prev pager" data-v-cc0f9778><a class="pager-link next" href="/note/Front-end%20Engineering.html" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>前端工程化</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@
<link rel="preload stylesheet" href="/assets/style.60c127af.css" as="style">
<link rel="modulepreload" href="/assets/chunks/VPAlgoliaSearchBox.b1927508.js">
<link rel="modulepreload" href="/assets/app.33820b61.js">
<link rel="modulepreload" href="/assets/project_ClipboardManager_guide_index.md.cbb1b2e8.lean.js">
<link rel="modulepreload" href="/assets/project_ClipboardManager_guide_index.md.caf90979.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@ -29,8 +29,8 @@
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C792EA;">match</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">[</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">image</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#FFCB6B;">type</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">file</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#FFCB6B;">regex</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">.(?:jpg|jpeg|png)$</span><span style="color:#89DDFF;">&quot;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">}],</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C792EA;">command</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">redirect:上传到图床</span><span style="color:#89DDFF;">&quot;</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><p>这个功能除了可以匹配图片,还可以将符合正则的图片文件匹配上,在匹配上的历史记录上展示<code>上传到图床</code>按钮,携带数据跳转到图床插件,一键上传。</p><p>需要注意的是,因为自定义功能按钮实现的是<strong>携带数据跳转不同插件</strong>,所以<code>redirect</code>后的内容并不应该是普通关键字(普通关键字仅能作为插件入口,而不能携带数据),而应该是<code>文本</code>/<code>图片</code>/<code>文件或文件夹</code></p><p><img src="/assets/gi4.e4051a3e.png" alt=""><img src="/assets/gi5.f517b425.png" alt=""></p><ul><li><code>id</code>: <code>String</code> 全局唯一 必须以<code>custom</code>开头 建议以时间戳为后缀</li><li><code>title</code>: <code>String</code> 鼠标悬停时展示的文本</li><li><code>icon</code>: <code>String</code> 展示在插件内的图标</li><li><code>match</code>: <code>&lt;String | Object&gt;[]</code> 匹配模式</li><li><code>command</code>: <code>String</code> 执行跳转的关键字 前缀<code>redirect:</code>是必须的</li></ul><p>在未来的版本更新中,<code>超级剪贴板</code>将开放更多自定义功能给高级用户,帮助你更高效率的管理、使用剪贴板。</p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/project/ClipboardManager/guide/index.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-18T16:28:59.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><!----></div><div class="pager" data-v-cc0f9778><a class="pager-link next" href="/project/ClipboardManager/" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>超级剪贴板</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"note_css.md\":\"2c88cba1\",\"works_contribution.md\":\"f1f31ee6\",\"works_opensource.md\":\"d00905f0\",\"note_javascript.md\":\"6a2d95de\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"87c3ec71\",\"article_【字节跳动】前端面试题总结.md\":\"11aa2b5a\",\"article_【快手】深入理解前端面试题.md\":\"5f4ef7a3\",\"article_【用友金融】前端面试题总结.md\":\"69243f39\",\"article_一文读懂事件冒泡与事件捕获.md\":\"a9dedb6d\",\"article_一文读懂伪类与伪元素.md\":\"18a4ea39\",\"article_一文读懂函数中this指向问题.md\":\"d4e27bc7\",\"article_从0实现一个年度报告.md\":\"4e06b81d\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"f2072102\",\"article_深入javascript数据类型.md\":\"ed246d99\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"e6b03974\",\"article_深入理解浏览器缓存机制.md\":\"be15491a\",\"article_深入理解浏览器运行原理.md\":\"4b1c1d16\",\"index.md\":\"e391bcbf\",\"note_ssr.md\":\"eafce674\",\"project_clipboardmanager_index.md\":\"c8cba791\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"9865de7d\",\"project_clipboardmanager_guide_index.md\":\"cbb1b2e8\",\"project_clipboardmanager_log_index.md\":\"4ee5fe53\",\"project_clipboardmanager_vip_index.md\":\"00c8bdb1\",\"project_smartwordbreak_statement_index.md\":\"08faf5e0\",\"project_smartwordbreak_index.md\":\"8198941b\",\"project_smartwordbreak_log_index.md\":\"3ca84f95\",\"note_front-end engineering.md\":\"e321faed\",\"project_clipboardmanager_statement_index.md\":\"6751fd19\",\"article_深入理解proxy与reflect.md\":\"368d9aed\",\"self_index.md\":\"5b8fe7b6\",\"note_javascriptenhanced.md\":\"209d0c05\"}")</script>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><p>这个功能除了可以匹配图片,还可以将符合正则的图片文件匹配上,在匹配上的历史记录上展示<code>上传到图床</code>按钮,携带数据跳转到图床插件,一键上传。</p><p>需要注意的是,因为自定义功能按钮实现的是<strong>携带数据跳转不同插件</strong>,所以<code>redirect</code>后的内容并不应该是普通关键字(普通关键字仅能作为插件入口,而不能携带数据),而应该是<code>文本</code>/<code>图片</code>/<code>文件或文件夹</code></p><p><img src="/assets/gi4.e4051a3e.png" alt=""><img src="/assets/gi5.f517b425.png" alt=""></p><ul><li><code>id</code>: <code>String</code> 全局唯一 必须以<code>custom</code>开头 建议以时间戳为后缀</li><li><code>title</code>: <code>String</code> 鼠标悬停时展示的文本</li><li><code>icon</code>: <code>String</code> 展示在插件内的图标</li><li><code>match</code>: <code>&lt;String | Object&gt;[]</code> 匹配模式</li><li><code>command</code>: <code>String</code> 执行跳转的关键字 前缀<code>redirect:</code>是必须的</li></ul><p>在未来的版本更新中,<code>超级剪贴板</code>将开放更多自定义功能给高级用户,帮助你更高效率的管理、使用剪贴板。</p></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-30dabfe4 data-v-cc0f9778><div class="edit-info" data-v-cc0f9778><div class="edit-link" data-v-cc0f9778><a class="VPLink link edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/project/ClipboardManager/guide/index.md" target="_blank" rel="noreferrer" data-v-cc0f9778 data-v-8dd200cc><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-cc0f9778><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-cc0f9778><p class="VPLastUpdated" data-v-cc0f9778 data-v-de6a4e1f>Updated Date: <time datetime="2023-02-21T11:31:03.000Z" data-v-de6a4e1f></time></p></div></div><div class="prev-next" data-v-cc0f9778><div class="pager" data-v-cc0f9778><!----></div><div class="pager" data-v-cc0f9778><a class="pager-link next" href="/project/ClipboardManager/" data-v-cc0f9778><span class="desc" data-v-cc0f9778>Next page</span><span class="title" data-v-cc0f9778>超级剪贴板</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-3af881ed data-v-8b655284><div class="container" data-v-8b655284><p class="message" data-v-8b655284>Released under the MIT License.</p><p class="copyright" data-v-8b655284>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"8d7e9b9c\",\"article_深入理解浏览器缓存机制.md\":\"e7e22bb1\",\"article_从0实现一个年度报告.md\":\"7ba24283\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"b7a6c275\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"02c8f56e\",\"article_深入javascript数据类型.md\":\"80fd8af0\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"cd9b1cff\",\"article_深入理解proxy与reflect.md\":\"9c5a6cd1\",\"article_深入理解浏览器运行原理.md\":\"f13b2b23\",\"index.md\":\"00c51c0e\",\"note_css.md\":\"a4f3e631\",\"note_javascript.md\":\"e58e866f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"c2d9cd1b\",\"note_ssr.md\":\"5b580a05\",\"note_front-end engineering.md\":\"939c2eef\",\"project_clipboardmanager_index.md\":\"fcacbc6c\",\"project_clipboardmanager_log_index.md\":\"9bd18ae1\",\"project_clipboardmanager_statement_index.md\":\"fddb5934\",\"project_clipboardmanager_vip_index.md\":\"8d894bfc\",\"project_smartwordbreak_index.md\":\"6364a91a\",\"project_smartwordbreak_log_index.md\":\"02ecbe98\",\"project_smartwordbreak_statement_index.md\":\"4c33c737\",\"self_index.md\":\"e7b0b4e0\",\"works_contribution.md\":\"13a9eaa9\",\"works_opensource.md\":\"04c9693c\",\"article_【字节跳动】前端面试题总结.md\":\"8b64abc5\",\"project_clipboardmanager_guide_index.md\":\"caf90979\",\"article_【快手】深入理解前端面试题.md\":\"9bd6db9f\",\"article_【用友金融】前端面试题总结.md\":\"8730c019\",\"article_一文读懂伪类与伪元素.md\":\"dd034dbf\",\"note_javascriptenhanced.md\":\"b46ba179\",\"article_一文读懂函数中this指向问题.md\":\"3025c285\"}")</script>
<script type="module" async src="/assets/app.33820b61.js"></script>
</body>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long