<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <button id="btn">点我</button> <p>这是一个p</p> <p>这是一个p</p> <p>这是一个p</p> <p>这是一个p</p> <p>这是一个p</p> <script> var pObj = document.getElementsByTagName("p"); //通过标签名获取的元素 , 返回的是伪数组 console.log(pObj.length); // 能用数组的属性 console.log(typeof pObj);// object console.log(pObj[0]); var args = Array.prototype.slice.call(pObj);//将为数组转化为真正的数组 console.log(args.push("2"));// 不能用数组的方法 console.log(args); var btn = document.getElementById("btn"); btn.onclick = function () { var pObj = document.getElementsByTagName("p");//通过标签名获取的元素 console.log(pObj); //pObj[0].innerText = "p被修改了" for(var i = 0; i < pObj.length; i++){ pObj[i].innerText = "p被修改了"; } } </script> </body> </html>
总结: * 1. 本质是对象. * 2.具有数组的属性 * 3.不具有数组的方法 * 4. 可以按照索引的方式来储存数据 (arguments也是返回的伪数组) * 5. 伪数组不能调用DOM对象的方法或者是属性