通过document.getElementsByTagName选择的dom 节点是一种类似array的array。它不能应用Array下的push,pop等方法。我们可以通过:var domNodes = Array.prototype.slice.call(document.getElementsByTagName("*"));这样domNodes就可以应用Array下的所有方法了。
Array.prototype.slice.call(document.getElementsByTagName("*"));这句代码不是很明白,slice()方法不是取数组的元素?
slice如果不传入参数会返回一个浅拷贝数组副本。
call的作用是用document.getElementsByTagName("*")作为slice方法中的this调用一次slice方法;从而把dom列表转换成真正的Array