定义类的数组对象,js 定义数组对象
本教程运行环境:windows7系统,javascript1.8.5版本1.8.5,戴尔G3电脑。
js类中有很多数组对象。简单的概念是,它们看起来像数组,但它们不是数组。它们可以通过数字下标访问,无需数组方法。
示例:参数、节点列表、HTMLCollection、jQuery等。
类数组对象特性
1.拥有长度属性。
var a=document . getelementsbytagname( p );
a._ _ proto _ _//HTMLCollection {}属于类数组对象a.length//622,可以使用数字下标访问对象。
a[0];//p class=aspNetHidden…/p3,不能使用数组原型的方法(比如slice,pop等。)
a .切片;//未定义的错误!
a.pop//未定义的错误!4.使用instanceof操作不属于数组
数组的[]个实例;//真
数组的实例;//false5。它可以被转换成一个真正的数组对象
var arr=array . prototype . slice . call(a);
arr数组的实例;//truePS:注意在IE8下,有些对象不能用slice方法转换成真数组对象。
建议使用$。jquery提供的makeArray()方法来转换类数组对象。
6.通常,可以定义其他自定义属性。
a .项目;//function item(){[原生代码] }类数组对象优点
至于优点,我相信js可以像其他后台语言一样操作,无需过多描述。
例如,C#中的一些列表集合可以通过使用数字下标list[0]或字符串名称list[name]来访问同一个对象。
同时,它还具有各种自定义方法和自定义属性。看jquery对象优雅的访问方式,就是这么奇妙的对象。
如何手动创建类数组对象
主题,如何手动创建类数组对象。
1.首先创建一个空对象。
var array _ like={ };//创建一个空对象。2.直接为对象定义数值下标的属性,这在其他语言中是绝对不允许的。对象属性不能以数字开头,但在JS中可以,甚至在中文中也可以。
array _ like[0]= test 0 ;
array _ like[1]= test 1 ;
array _ like[2]= test 2 ;
array _ like[3]= test 3 ;3.关键是将长度属性和拼接属性设置为对象的数字和函数。
//关键点
array _ like . length=4;//设置对象的长度属性
array_like.splice=[]。拼接;//同时将splice属性设置为函数PS:splice属性实际上是为了欺骗浏览器的控制台而设置的,它显示的是数组的外观。请参考这里。
4.测试
//设置自定义属性
array _ like . test 0=array _ like[0];
array _ like . test1=array _ like[1];
//直接输出
console . log(array _ like);//[测试0 ,测试1 .]
//类型
console.log( $。type(array _ like));//对象
//数字下标访问
console . log(array _ like[0]);//测试0
//自定义属性访问
array _ like.test0//测试0
//不是数组对象
array _ like的instanceof//假
//转换为真正的数组对象
var Arr=array . prototype . slice . call(array _ like);
Arr数组的实例;//true5,所有代码:
var array _ like={ };
array _ like[0]= test 0 ;
array _ like[1]= test 1 ;
array _ like[2]= test 2 ;
array _ like[3]= test 3 ;
array _ like . length=4;
array_like.splice=[]。拼接;
console . log(array _ like);
console.log( $。type(array _ like));
console . log(array _ like[2]);【推荐学习:javascript高级教程】以上是javascript如何定义类数组对象的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。