js对象如何实现数组索引功能并且自定义自己的方法 (4种方法)

来源:互联网 发布:微信淘宝客推广优惠券 编辑:程序博客网 时间:2024/06/06 03:50
//js对象如何实现数组索引功能并且自定义自己的方法 4种方法function Ele(e){var a = {show:function(){alert("name")}};var all = document.getElementsByTagName(e);for(var i =0 ;i<all.length;i++){a[i] = all[i];}a.length = all.length;return a;}function Ele2(e){var a = new Object();a.show = function(){alert("name");}var all = document.getElementsByTagName(e);for(var i =0 ;i<all.length;i++){a[i] = all[i];}a.length = all.length;return a;}function Ele3(e){this.show = function(){alert("name");}var all =document.getElementsByTagName("p");for(var i =0 ;i<all.length;i++){this[i] = all[i];}this.length = all.length;}<pre name="code" class="html">        function Ele4(e){ var array = function(){}; array.prototype = new Array(); array.prototype.show = function(){ alert("name");}var all = document.getElementsByTagName(e);for(var i =0 ;i<all.length;i++){ array.prototype.push(all[i]);}return new array();}


运行结果:

var a1 = Ele("p");

undefined
a1
Object { 0: <p>, 1: <p.pline>, 2: <p#p3>, show: Ele/a.show(), length: 3 }
var a2 = Ele2("p");
undefined
a2
Object { 0: <p>, 1: <p.pline>, 2: <p#p3>, show: Ele2/a.show(), length: 3 }
var a3 = new Ele3("P");
undefined
a3
Object { 0: <p>, 1: <p.pline>, 2: <p#p3>, show: Ele3/this.show(), length: 3 }
a1.show();
undefined
a1[2]
<p id="p3">
a3[3]
undefined
a3[2]
<p id="p3">
a2.length
3

var a = Ele4("p");
undefined
a
Object {  }
a.show();
undefined
a[1]
<p class="pline">
a.push("pppp");
4
a[4];
undefined
a[3];
"pppp"
a.length;
4
 
0 0
原创粉丝点击