js 的静态获取和动态获取
2021-05-10 本文已影响0人
Riya
- 静态获取方法
document.getElementById
obj.querySelector
obj.querySelectorAll
- 动态获取方法(每次使用时候会回去重新获取一次)
obj.getElementsByClassName
obj.getElementsByTagName
document.getElementsByName
可以简单理解为静态获取只会在调用静态获取方法的地方获取一次结果,以后使用时就使用这次获取的结果,所以每次的结果都是相同的;
而动态获取则会在使用到的地方每次都重新调用动态获取方法,报以每次的结果可能不同;
看下面的例子:
//静态获取
var op = document.querySelectorAll("p");
var b = document.createElement("p");
box.appendChild(b);
//op的长度是1
alert(op.length);
//动态获取 每次使用会回去重新获取一次
var op = document.getElementsByTagName("p");
var b = document.createElement("p");
box.appendChild(b);
//op的长度是2
alert(op.length)
- 懒加载 需要新加载资源时,可以使用动态获取,来获取需要加载的节点。