zamknięcie javascript i odniesienie do obiektu

jestem trochę niejasna sytuacja. głównie dlatego, że myślałem, że już uchwyciłem zamknięcia. więc zasadniczo chcę zresetować kolekcję do wartości domyślnych. więc powiedzmy, że mam kolekcję, która ma konstruktor z parametrem tablica obiektów.

 var c = new collection([{x},{y},{z}]);

następnie kolekcja okresowo się aktualizuje. Nie zachowuję początkowych wartości tablicy, po jakimś czasie chciałbym przywrócić wartości początkowe.

teraz nie pytam, jak to zrealizować, moje pytanie o zamknięcia może być na wiele sposobów. czytaj dalej

więc sposób, w jaki mogłem pomyśleć o pułapce tej początkowej wartości za pomocą zamknięć, może wyglądać tak.

c.on('reset',(function(arr){

    return function(){

          c.internalarray = arr;

    }

 })(c.internalarray))

więc nie działa, ponieważ odwołanie jest przekazywane jako argument kolekcja aktualizuje ukryte pułapkiarr również zaktualizować jego koniec zawsze prawdziwe dla

arr === c.internalarray;

mogłem pomyśleć o przekazaniu klonu tablicy, ale to, o co chodzi, nie jest gdzieś po prostu tworzeniem kopii danych z przypisaniem zachowania zmiennej globalnej.

więc moje pytanie, co robię źle. Myślałem, że jakoś niejawnie silnik javascript tworzy kopię uwięzionej zmiennej / obiektu. że nie muszę ich śledzić.

questionAnswers(2)

yourAnswerToTheQuestion