javascript pass object come riferimento

Ho un object, che viene passato in molte funzioni diverse all’interno di una funzione. queste funzioni possono o non possono modificare il valore dell’object, ma se lo cambiano, vorrei ricevere le ultime modifiche sull’object.

di seguito è quello che sto cercando di fare:

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'}; } 

In oggetti JavaScript vengono sempre passati da copia-riferimento. Non sono sicuro che questa sia la terminologia esatta corretta, ma verrà passata una copia del riferimento all’object.

Ciò significa che tutte le modifiche apportate all’object saranno visibili all’utente dopo che la funzione è stata completata.

Codice:

 var obj = { a: "hello" }; function modify(o) { oa += " world"; } modify(obj); console.log(obj.a); //prints "hello world" 

“Oggetti” non sono valori in JavaScript e non possono essere “passati”.

Tutti i valori con cui si ha a che fare sono riferimenti (puntatori agli oggetti).

Passare o assegnare un riferimento fornisce un altro riferimento che punta allo stesso object. Ovviamente è ansible modificare lo stesso object attraverso quell’altro riferimento.