日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747


dom 中的 nodeType 節點類型

 
 

前言

看到 vue AST 抽象語法樹中有這樣的定義:

dom 中的 nodeType 節點類型
 
中間根據的 child.type 難道是隨意定義的嗎?我不敢瞎揣測,不過既然是對 document 樹的解析,那必然會和 document 扯上關系。

這時我嘗試在 F12 中輸出 document 看到了 nodeType 屬性和這個 child.type 相似。

個人認為可能有所關系,不過不重要,因為這篇主要講 document 中的 nodeType 節點類型。

nodeType 的分類

我在 MDN 上搜索 nodeType ,看到如下表格:

dom 中的 nodeType 節點類型
 
當然還有一些類型已經廢棄,這里不再列舉。

通過 nodeType 來定義我們 document 上節點的節點類型,通過代碼,你講看到具體的輸出:

這是一段很簡單的 html 文件:

dom 中的 nodeType 節點類型
 
然后我簡單定義了個工具方法,示意 nodeType :
 
dom 中的 nodeType 節點類型
 
為了使得全部的節點類型輸出順利,我單獨針對部分類型處理:
 
dom 中的 nodeType 節點類型
 
然后是常規的 html 元素:
 
dom 中的 nodeType 節點類型
 
 

回過頭看 vue

為什么 vue 中的 type 屬性只出現了 2、3 (默認 1)?

如果你熟悉其中的 parseHTML 方法,如下應該就是其答案:
 

dom 中的 nodeType 節點類型
 

首先在對 html 解析時,會優先對 注釋(COMMENT_NODE,CDATA_SECTION_NODE) 、文檔類型(DOCUMENT_NODE, DOCUMENT_TYPE_NODE) 進行判斷;另外 vue 本身就是虛擬 Dom 機制,所以也就不需要 DOCUMENT_FRAGMENT_NODE 。

最后只要匹配 ELEMENT_NODE 和 TEXT_NODE 類型即可(值為 1,3)。

我們知道 innerHtml 會有 雙大括號 表達式,vue 就空出 2 專門用來對表達式解析。

總結

我只是看 vue 渲染代碼時,好奇為什么 type 是這樣的取值方式。也許是錯的,不過希望各位對 nodeType 這個 document 上的屬性有所認識。

分享到:
標簽:dom
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定