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对象
最新推荐文章于 2024-04-21 14:27:01 发布