我目前正在为JavaScript构建一个API,主要使用Visual Studio 2010和JetBrains WebStorm(如果您正在寻找一个防弹JavaScript IDE,那就太棒了).
虽然通过Visual Studio中的智能感知列表中寻找(尝试使用JavaScript API来熟悉自己),我注意到,这两个Document和document存在.
Document和之间有什么区别document?document(如果有的话)的实例?Document(因为它不是一个函数,因此,不可构造)?Document使其可以构建的危害是什么?这些问题背后的理由是,我要创建适合我的API一些对象(例如; Document,HTMLElement等),但这些似乎在某些方面已经存在了,我不相信,我应该重写他们的母语实现.
Ber*_*rgi 15
Document和之间有什么区别document?
document(或window.document)是对窗口中包含的文档的引用.(规格)
Document是文档的DOM接口,它在全局对象上公开.(规格,规格)
如何使用
Document(因为它不是一个函数,因此,不可构造)?
它是一个宿主对象,不需要遵循EcmaScript规范 - 但这并不意味着它不是一个功能.它可能因浏览器而异.但它并不打算被调用(如果你尝试它你会得到一个NOT_SUPPORTED_ERR),还有其他方法来实例化/获取新文档.你仍然可以使用它是什么
> document instanceof Document
true
> Document.prototype
DocumentPrototype {
adoptNode: Function
constructor: Document
createAttribute: Function
…
querySelector: Function
querySelectorAll: Function
}
|- NodePrototype
|- Object
Run Code Online (Sandbox Code Playgroud)
所以你可以扩展它的原型并在你的应用程序中的所有XMLDocuments/ 上使用这些方法HTMLDocuments(但前提是你知道扩展DOM有什么问题).
最重要的是,"猴子修补"
Document使其可以构建的危害是什么?
我不确定你会怎么做.覆盖它可能会损害每个希望它按上述方式工作的脚本(除非你修复了prototype新函数的属性).也许在某些环境中Document属性window是不可写的,所以你可能会伤害自己.
| 归档时间: |
|
| 查看次数: |
2188 次 |
| 最近记录: |