querySelectorAll和getElementBy系列的對比
總結:
querySelectorAll比getElementBy系列速度慢,因為querySelectorAll返回一個靜態的NodeList(深克隆),getElementBy系列返回一個動態的實時變化的NodeList(HTMLCollection)(淺克隆,每次都返回一個指標)。
所以querySelectorAll會降低效能。
HTMLCollection和NodeList都是類陣列物件,區別是方法略有不同。
HTMLCollection是元素節點的集合,每一項都是元素節點;NodeList是節點的集合,每一項可能是元素節點,還可能是文字節點、註釋節點等。
參考連結:
http://www.jianshu.com/p/f6ff5ebe45fd
https://www.zhihu.com/question/24702250
http://www.cnblogs.com/childsplay/p/5527999.html
相關文章
- QuerySelector/QuerySelectorAll和getElementById/getElementsByClassName的區別
- 大資料教程系列之Kafka和activemq對比大資料KafkaMQ
- Java NIO學習系列四:NIO和IO對比Java
- Git和SVN的對比Git
- 一小波DOM騷操作:querySelectorAll和classList
- Go 與 C++ 的對比和比較GoC++
- Python 和 Ruby 的對比Python
- java 和 Ruby On Rails的對比JavaAI
- redis和memcache的對比——配置Redis
- truncate 和 delete 的效能對比delete
- WinRunner和QTP對比QT
- 對比Javascript和TypeScriptJavaScriptTypeScript
- redux 和 mobX對比Redux
- Django 和 struts 對比Django
- Mongo和Couch對比Go
- vite和webpack對比ViteWeb
- TCP和UDP對比TCPUDP
- react和vue的渲染流程對比ReactVue
- 關於beego和gin的對比Go
- MySQL併發複製系列三:MySQL和MariaDB實現對比MySql
- 《卸甲筆記》-PostgreSQL和Oracle的資料型別的對比系列五:其它型別筆記SQLOracle資料型別
- RabbitMQ和Erlang相容對比MQ
- SVN和Git對比梳理Git
- Dataguard和GoldenGate對比Go
- Maven和Gradle對比MavenGradle
- ReferenceField、EmbeddedDocumentField和LazyReferenceField的使用和總結對比
- Class和ClassLoader的getResource方法對比
- 對比JavaScript中的Continue和BreakJavaScript
- SQL 和 SPL 的有序運算對比SQL
- Kotlin和Java的簡單對比KotlinJava
- MySQL和Oracle中的delete,truncate對比MySqlOracledelete
- golang string和[]byte的對比Golang
- java Comparable和Comaprator的對比Java
- SQLServer和Oracle的常用函式對比SQLServerOracle函式
- mysql的innodb和myisam的dml效能對比MySql
- Redis工作系列之一 與 Memcached對比理解Redis
- 《卸甲筆記》-PostgreSQL和Oracle的資料型別的對比系列四:大資料型別筆記SQLOracle資料型別大資料
- SOAP和RESTful框架的簡介、對比和區別REST框架