Ext.get()
和 document.getElementById()
在性能方面有什么区别? Ext.get()
会因为内部调用 document.getElementById()
而变慢吗?或者使用 Ext.get()
有什么特别的优势吗?
最佳答案
Ext.get 相对于 getElementById 的主要优势在于它返回给您一个 Ext.Element 实例。该实例不仅包含 getElementById 将为您提供的 DOM 节点引用,而且还对其进行了显着扩展 - 提供了一套便捷的方法、事件规范化和消除跨浏览器差异的方法。
从表面上看,getElementById 可能比 Ext.get 有一些微小的速度增益,只是基于在进行相同的基本 DOM 调用之前少一个函数。但是,就整体性能而言,检索后对元素所做的操作可能比检索本身产生更大的影响。手边有 Ext.Element 包装器可能会非常有益。
您可能还想看看 Ext.fly。此方法类似于 Ext.get,不同之处在于它返回给您一个单独的 Ext.Element 实例。如果您需要存储元素供以后使用,它不会有任何好处,但如果您对唯一的 DOM 节点执行简单的一次性操作,它可能比 Ext.get 更便宜。
关于javascript - 哪个更好 - Ext.get() 或 document.getElementById(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8689239/