如果定义两个对象:
function a()
{
}
function b()
{
var id="";
}
想让a中有个属性是一个对象数组,里面都是b对象,该如何定义?并且能随时对这个数组进行增加b对象、删除某个b对象的操作(应该是按照id删除)
------解决方案--------------------
- JScript code
<script type="text/javascript">
var b = function (id) {
//创建一个b,这个b就有自己的id
this.id = id;
};
b.prototype.toString = function () {
//b转化为字符串时,就返回自己的id
return this.id;
}
var a = function () {
//创建一个a,这个a就有自己的数组
this.ary = [];
};
a.prototype.add = function (id) {
//当添加一个id的时候就创建一个b对象,并且放到自己的组里
this.ary.push(new b(id));
};
a.prototype.del = function (id) {
//当删除的时候就查找到那个b对象,然后从组里移除
for (var a = this.ary, i = 0 ; i < a.length ; i ++) {
if (a[i].id == id) {
a.splice(i, 1);
return;
}
}
};
var wc = new a;
wc.add(1);
wc.add(2);
wc.add(3);
wc.del(2);
alert(wc.ary);
</script>