代码之家  ›  专栏  ›  技术社区  ›  Andrei Cleland

什么是DOM字符串?

  •  -1
  • Andrei Cleland  · 技术社区  · 4 年前

    我偶然发现 DOMString 在阅读时 HTML spec 。在一些研究中,发现了以下数据:

    从…起 MDN :

    DOMString是一个UTF-16字符串。由于JavaScript已经使用了这样的字符串, DOMString直接映射到 String .

    从…起 W3C spec :

    A. DOMString 是一个序列 16-bit units .

    但我仍然有以下问题:

    1. 什么是 DOMString 实际上,它是用来做什么的?
    2. 为什么命名为 DOM 字符串与否 UTF16 一串更具体地说,它与DOM有什么关系?
    3. 如果I UTF-16编码 String ,它会变成一个吗 DOMString ?
    0 回复  |  直到 10 年前
        1
  •  32
  •   BoltClock    4 年前

    它是一个用于UTF-16字符串的独立于实现的DOM接口。

    JavaScript字符串已经是UTF-16字符串,因此JavaScript的任何实例 String 自动也是 DOMString 例子

    该接口适用于字符串本身不是UTF-16序列的实现,因此它们可以实现一个单独的类型来映射到 DOMString 如有必要。正如规范所述,独立于实现的接口之所以必要,是因为“[以]确保互操作性”。

    为什么叫它 DOMString ? 大概是因为它与DOM有关。它与DOM有何关联?首先,它是DOM标准的一部分。

        2
  •  2
  •   NVRM    5 年前

    以3种不同的使用方式为例 Element.append() .

    Element.append()还允许附加DOMString对象

    这三个元素都是 DOMString(s)

    document.body.append(
    
      Object.assign(document.createElement("h2"), {textContent: "Hello"}),
      
      new DOMParser().parseFromString(`<span> world</span>`, "text/html").body.firstChild,
     
     "!"
     
    )
    H2, SPAN {display:inline; FONT-SIZE: X-LARGE}