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");
undefineda1
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
- js对象如何实现数组索引功能并且自定义自己的方法 (4种方法)
- js自定义对象的几种方法
- 往TreeSet中存入自定义对象,并且使用自定义排序方法(实现comparetor)
- js数组对象的方法
- 自定义Cell访问不了自己的set方法,并且对象初始化产生的不是自定义的类型(cell.contact = self.contacts[indexPath.row])
- js获取前端时间方法,并且实现定时刷新页面的功能
- PHP删除特定数组内容并且重建数组索引的方法
- 自己实现RMI(二)对象索引和方法回调
- js--数组对象的属性方法整理
- [js]如何在js方法中传递事件对象并且在各个浏览器之间兼容
- JS--自定义对象的几种方法
- JS中如何实现sleep功能 js定时执行方法
- js自定义对象、属性、方法(转)
- json对象与数组以及转换成js对象的简单实现方法
- js自定义对象和方法
- js自定义对象和方法
- js自定义对象及其方法
- js自定义对象和方法
- php 将秒数转换为时间(年、天、小时、分、秒)
- Linux下如何修改MySQL物理目录
- uva 1336 - Fixing the Great Wall
- cocos2dx 3.x 实现 A星(A*)(A-star)算法自动寻路(一)
- 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作(MaxUserPort,TcpTimedWaitDelay)
- js对象如何实现数组索引功能并且自定义自己的方法 (4种方法)
- Emacs 24.4 配置C++智能提示
- linux下vim不显示高亮解决方案
- Swagger与SpringBoot的整合
- 给初学者推荐几个比较好的技术博客
- js三级联动
- linux设备树使用手册
- MMORPG服务器架构
- android GestureListener手势,多指缩放