什么是真正的 DOMString
What is a DOMString really?
我在阅读HTML规范时遇到了DOMString
。在一些研究中,发现了以下有关它的数据:
来自 MDN:
DOMString 是一个 UTF-16 字符串。由于 JavaScript 已经使用了这样的字符串, DOMString 直接映射到字符串。
从 W3C 规范:
DOMString 是 16 位单元的序列。
但我仍然有以下问题:
- 实际上什么是
DOMString
,它的用途是什么? - 为什么它被命名为 DOM字符串而不是 UTF16字符串?更具体地说,它与DOM有什么关系?
- 如果我用UTF-16编码一个
String
,它会变成DOMString
吗?
它是一个独立于实现的 UTF-16 字符串 DOM 接口。
JavaScript 字符串已经是 UTF-16 字符串,因此 JavaScript String
的任何实例都自动也是DOMString
实例。
该接口适用于字符串不是本机 UTF-16 序列的实现,因此如有必要,它们可以实现单独的类型以映射到DOMString
。正如规范所述,需要独立于实现的接口的原因是"[确保]互操作性"。
为什么叫DOMString
?大概是因为它与DOM有关。它与DOM有何关系?嗯,这是DOM标准的一部分。
以 3 种不同的Element.append()
使用方式为例。
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}
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 全局变量和全局对象的属性之间有什么区别吗
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 在ember/handlers中使用value和valueBinding有什么区别
- 什么'在webpack外部设置中,reactDom和reactDom不同
- 在JavaScript中拆分日期字符串的更好方法是什么
- 为什么$.brower被弃用?还有什么更好的替代方案
- 什么是&&在没有if的行中的变量之间
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- DOM元素和angular元素之间的主要区别是什么
- javascript导入的最佳实践是什么
- 这两个关于 JavaScript 作用域链的例子有什么区别?
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 什么是真正的 DOMString
- 浏览DOMString最简单的方法是什么?