代码之家  ›  专栏  ›  技术社区  ›  fny

遍历类的所有对象

  •  1
  • fny  · 技术社区  · 14 年前

    假设我有一个叫 loopObject var apple = new loopObject(); 是否有循环遍历类的所有对象的方法,这样就可以用每个对象作为参数来执行某些函数?如果没有直接方法,是否有方法在初始化时将每个新对象放入数组中?

    3 回复  |  直到 14 年前
        1
  •  2
  •   SLaks    14 年前

    可以创建一个包含每个实例的数组,如下所示:

    function LoopObject() {
        LoopObject.all.push(this);
    }
    LoopObject.all = [];
    

        2
  •  1
  •   meder omuraliev    14 年前
    function loopObject(){
     this.name = 'test'
    };
    var list = [], x = new loopObject, y = new loopObject;
    
    list.push(x)
    list.push(y)
    
    for ( var i = list.length; i--; ) {
        alert( list[i].name )
    }
    
        3
  •  0
  •   fny    14 年前
    var allObjects [] = new Array();
    function loopObject() {
        ...
        allObjects.push(this);
    }
    

    然后我们就可以通过 allObjects 必要时使用 allObjects.length .