什么是DOMString?

时间:2016-02-01 06:00:23

标签: javascript html5 dom

我在阅读HTML spec时遇到DOMString。在一些研究中,找到了以下有关它的数据:

来自MDN

  

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

来自W3C spec

  

DOMString是一系列16-bit units

但我仍然有以下问题:

  1. 实际上DOMString是什么,它用于什么?
  2. 为什么将其命名为 DOM 字符串而不是 UTF16 字符串?更具体地说,它与DOM有什么关系?
  3. 如果我使用UTF-16对String进行编码,它会变为DOMString吗?

2 个答案:

答案 0 :(得分:13)

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

JavaScript字符串已经是UTF-16字符串,因此JavaScript I_ContactService的任何实例都自动也是ContactService个实例。

该接口适用于默认情况下不将字符串实现为UTF-16序列的实现,因此如果需要,它们可以实现单独的类型以映射到String。正如规范所述,与实现无关的接口是必要的,“[以]确保互操作性”。

为什么叫DOMString?大概是因为它与DOM有关。它与DOM有什么关系?嗯,它是DOM标准的一部分,一个。

答案 1 :(得分:0)

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

<块引用>

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

这 3 个元素都是 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}