mirror of
https://github.com/ZiuChen/ZiuChen.github.io.git
synced 2025-12-18 00:44:18 +08:00
Deploying to gh-pages from @ ZiuChen/ZiuChen.github.io@4260c8afc1 🚀
This commit is contained in:
@@ -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.2ad1a344.lean.js">
|
||||
<link rel="modulepreload" href="/assets/article_深入JavaScript数据类型.md.b935f508.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>"[object"</code> <code>class</code> 以及 <code>"]"</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-24T07:11:33.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("{\"project_clipboardmanager_guide_index.md\":\"c9f4b1c8\",\"project_clipboardmanager_index.md\":\"21a998a0\",\"project_clipboardmanager_log_index.md\":\"57d1d7ff\",\"project_clipboardmanager_statement_index.md\":\"634392a0\",\"project_smartwordbreak_index.md\":\"071f634a\",\"project_smartwordbreak_log_index.md\":\"66768597\",\"works_opensource.md\":\"88483824\",\"index.md\":\"bee78091\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"f107a03f\",\"note_ssr.md\":\"049db762\",\"note_javascript.md\":\"3483c923\",\"article_【字节跳动】前端面试题总结.md\":\"0acccd9c\",\"article_一文读懂事件冒泡与事件捕获.md\":\"93023ed7\",\"article_一文读懂伪类与伪元素.md\":\"52ff5f67\",\"article_一文读懂函数中this指向问题.md\":\"dac6ca4f\",\"article_从0实现一个年度报告.md\":\"e9956949\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"3b614adf\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"cf117fc2\",\"article_深入javascript数据类型.md\":\"2ad1a344\",\"article_深入vue3源码,看看vue.use后究竟发生了什么?.md\":\"e142cd6e\",\"article_深入理解proxy与reflect.md\":\"ab5df358\",\"article_深入理解浏览器缓存机制.md\":\"089e3558\",\"article_深入理解浏览器运行原理.md\":\"344f9c98\",\"note_front-end engineering.md\":\"f8c649fc\",\"project_clipboardmanager_vip_index.md\":\"82177986\",\"project_smartwordbreak_statement_index.md\":\"dbd4b4e0\",\"self_index.md\":\"c237c253\",\"works_contribution.md\":\"fa9863bb\",\"note_css.md\":\"9c918604\",\"article_【用友金融】前端面试题总结.md\":\"029885d0\",\"article_【快手】深入理解前端面试题.md\":\"106767f4\",\"note_javascriptenhanced.md\":\"15b5c3b1\"}")</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>"[object"</code> <code>class</code> 以及 <code>"]"</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-27T03:51:12.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_javascript.md\":\"305c5c43\",\"article_【字节跳动】前端面试题总结.md\":\"654880b8\",\"article_【快手】深入理解前端面试题.md\":\"dca1032f\",\"article_【用友金融】前端面试题总结.md\":\"95637bd5\",\"article_一文读懂事件冒泡与事件捕获.md\":\"d2fe90de\",\"article_一文读懂伪类与伪元素.md\":\"f8f27e27\",\"article_一文读懂函数中this指向问题.md\":\"473ce7a6\",\"article_深入javascript数据类型.md\":\"b935f508\",\"article_深入vue3源码,看看vue.use后究竟发生了什么?.md\":\"864ce28b\",\"article_深入理解浏览器缓存机制.md\":\"73e77b86\",\"article_深入理解浏览器运行原理.md\":\"b39ec20f\",\"index.md\":\"3fc7005d\",\"note_css.md\":\"1ed3c4b9\",\"note_front-end engineering.md\":\"5e43d56b\",\"note_ssr.md\":\"4c4223c1\",\"works_opensource.md\":\"208618d1\",\"project_smartwordbreak_statement_index.md\":\"8f69dae1\",\"article_深入理解proxy与reflect.md\":\"58fdb96f\",\"project_clipboardmanager_guide_index.md\":\"7794046f\",\"project_smartwordbreak_index.md\":\"9cb17876\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"3eb13fd8\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"859363ed\",\"article_从0实现一个年度报告.md\":\"0ac64c08\",\"works_contribution.md\":\"f15a54a2\",\"project_clipboardmanager_index.md\":\"dca1c24d\",\"project_clipboardmanager_log_index.md\":\"ef702018\",\"project_clipboardmanager_statement_index.md\":\"efdc3b17\",\"project_clipboardmanager_vip_index.md\":\"7207001e\",\"project_smartwordbreak_log_index.md\":\"b0dc9168\",\"self_index.md\":\"1ae62709\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"6663eb77\",\"note_javascriptenhanced.md\":\"0e0a6fec\"}")</script>
|
||||
<script type="module" async src="/assets/app.33820b61.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user