日期:2014-05-16  浏览次数:20428 次

如何定义嵌套对象?
如果定义两个对象:
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>