javascript定義類別陣列物件的方法是:1、先建立一個空物件;2、為物件直接定義數字下標的屬性;3、關鍵點,為物件設定length屬性和splice屬性為數字和函數。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
js中類別數組物件很多,概念簡單的講就是看上去像數組,又不是數組,可以使用數字下標方式存取又沒有數組方法。
範例: arguments , NodeList , HTMLCollection , jQuery 等
類別陣列物件特性
1、擁有 length 屬性
var a=document.getElementsByTagName("p"); a.__proto__;// HTMLCollection {} 属于类数组对象a.length;//62
#1、擁有 length 屬性
a[0];//<p class="aspNetHidden">…</p>
##########1reee######1reee#######l# 2.可以使用數字下標的方式存取物件###
a.slice;//undefined Error! a.pop;//undefined Error!
[] instanceof Array;//true a instanceof Array;//false
var arr = Array.prototype.slice.call(a); arr instanceof Array;//true
a.item;//function item() { [native code] }
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;//为对象设置length属性 array_like.splice = [].splice;//同时设置splice属性为一个函数
//设定自定义属性 array_like.test0=array_like[0]; array_like.test1=array_like[1]; //直接输出 console.log( array_like );//['test 0','test 1'...] //类型 console.log( $.type( array_like ) );//"object" //数字下标访问 console.log( array_like[ 0 ] );//"test 0" //自定义属性访问 array_like.test0;//"test 0" //不是数组对象 array_like instanceof Array;//false //转换为真数组对象 var Arr=Array.prototype.slice.call(array_like); Arr instanceof Array;//true
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 = [].splice; console.log( array_like ); console.log( $.type( array_like ) ); console.log( array_like[ 2 ] );
以上是javascript怎麼定義類別數組對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!