Mam obiekt, który jest przekazywany w wielu różnych funkcjach wewnątrz funkcji. te funkcje mogą, ale nie muszą, zmieniać wartość obiektu, ale jeśli go zmieniają, to chciałbym uzyskać najnowsze zmiany obiektu.Obiekt przekazu javascript jako odniesienie
Oto co im próbuje zrobić:
var ob = {text: 'this is me', name: 'john'}
function (object) {
changeObject(object);
customObjectChanger(object);
callback = function (object) {
object.text = 'new text';
}
callback(object);
// object value here should be object{text: 'new text', name: 'john'};
}
JavaScript automatycznie przesyła obiekty przez odniesienie przez cały czas. Czy próbowałeś powyższego kodu, aby sprawdzić, czy już robi to, co chcesz? – jcsanyi
nie, nie mam. Czytałem to. chciałem tylko tutaj potwierdzić. – Basit
JavaScript nie * nie * [Prześlij przez odniesienie] (http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_reference). Jednak JavaScript * nie tworzy kopii obiektów, gdy są one przekazywane lub przypisywane *. Jako taki jest to * ten sam * obiekt o innej nazwie - zmiany wprowadzone do obiektu (z dowolnej nazwy) wpływają na wspomniany obiekt. – user2246674