我应该如何在我的案例中定义我的数组?

时间:2011-04-19 11:12:23

标签: javascript-events javascript javascript-framework

我有一个对象:

myObj.js

MyObj={

  myArray: new Array(),//An ARRAY DEFINED HERE, BUT seems should be somewhere else

  test_1: function(){
     //HERE!!! Modify "myArray"
  },

  others: function(){

  }

}

myfunc.js

var myFunc= function(){

};

myFunc.prototype={

  start: function(){
    for(var i=0; i<DynamicNumber; i++){
         MyObj.test_1
    }
  }
}

我通过以下方式运行代码:

var my = new MyFunc();
my.start();

如您所见,当my.start()运行时,它会调用test_1()函数在 MyObj 中多次修改myArray,我想定义某些地方myArray,以便每次运行test_1()时,它都知道myArray当前内容。我希望MyObj.test_1()函数在每次修改后都知道“myArray”的当前内容。继续跟踪“myArray”。

我在哪里以及如何定义这个'myArray'?

1 个答案:

答案 0 :(得分:0)

也许使用构造函数:

MyObj = function() {
    var myArray = new Array();

    var test_1 = function() {

        // In this scope, you will have access to myArray

    };

    var others = function(){

    };

    //Public variables
    this.test_1 = test_1;
    this.others = others;
}

并使用它:

myFunc.prototype={

  start: function(){

    var myObj = new MyObj();
    for(var i=0; i<DynamicNumber; i++){
         myObj.test_1();
    }
  }
}