比较以下两个方法的区别,js是解释性语言,而document.getElementsByTagName也是动态的获取目标的长度,方法一是一个死循环,如果获取对象的方法换成方法二中的方式,就不会出现死循环了。。。。
方法一:
var append = document.getElementById("append");
append.addEventListener("click" ,function(){for(var i=0;i<document.getElementsByTagName("div").length;i++){
alert(document.getElementsByTagName("div").length);
document.body.appendChild(document.createElement('div'));
}
})
方法二:
var appenda = document.getElementById("appenda");appenda.addEventListener("click" ,function(){
var length = document.getElementsByTagName("div").length
for(var i=0;i<length;i++){
alert(document.getElementsByTagName("div").length);
document.body.appendChild(document.createElement('div'));
}
})