Как мне определить мой массив в моем случае? - PullRequest
0 голосов
/ 19 апреля 2011

У меня есть объект:

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() для многократного изменения myArray в MyObj , Iхотел бы определить myArray в некоторых местах, чтобы каждый раз при запуске test_1() он знал текущее содержимое из myArray.Вот я бы хотел, чтобы функция MyObj.test_1() знала о текущем содержании 'myArray' после каждой модификации.Продолжайте отслеживать 'myArray'.

Где и как я могу определить этот 'myArray'?

1 Ответ

0 голосов
/ 19 апреля 2011

Может быть, использовать конструктор:

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();
    }
  }
}
...