function SelfArray(){
var sArray={};
sArray.length=0;
sArray.data={};
Object.defineProperty(sArray.data,"length",{
configurable: false,
//writable: false,
enumerable: false,
get: function(){
return sArray.length;
}
});
Object.defineProperty(sArray.data,"push",{
configurable: false,
writable: false,
enumerable: false,
value: function(val){
sArray.data[sArray.length]=val;
sArray.length=sArray.length+1;
}
});
Object.defineProperty(sArray.data,"size",{
configurable: false,
writable: false,
enumerable: false,
value: function(){
return sArray.length;
}
});
return sArray.data;
}
//測試用例
window.SelfArray=SelfArray;
window["[]"]=SelfArray() ;
var sArr=SelfArray(); // 或者 window["[]"],因[]已被javascript規範使用,不然我們也可以自己寫成var sArr=[];
sArr.length;//輸出 0
sArr.push("姓名");
sArr.push("年齡");
sArr.push("出生日期");
//以下兩個循環輸出結果一樣
for(var k in sArr){
alert(k+"="+sArr[k]);
}
for(var k=0; k<sArr.length;k++){
alert(k+"="+sArr[k]);
}
sArr.length;//輸出 3
sArr.size();//輸出 3
javascript 自定義Array對象
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.