javascript passer de l'objet à titre de référence

j'ai un objet, qui est passé dans beaucoup de fonctions différentes à l'intérieur d'une fonction. ces fonctions peuvent ou ne peuvent pas changer la valeur de l'objet, mais si elles ne le changer, alors je voudrais obtenir les dernières modifications sur l'objet.

qui suit est ce que j'essaie de faire:

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 automatiquement passe les objets par référence à tous les temps. Avez-vous essayé votre code ci-dessus pour voir si il le fait déjà ce que vous voulez?
  • non, je n'ai pas. je l'ai fait lire. voulais juste confirmer ici.
  • JavaScript n'est pas Passage Par Référence. Cependant, JavaScript ne permet pas de faire des copies d'objets lorsqu'ils sont transmis ou cédés. En tant que tel, il est le même objet avec un nom différent, des modifications apportées à l'objet (à partir de n'importe quel nom), l'incidence sur l'objet.
  • Cela dépend de ce que tu veux dire par "passer par référence". De mon point de vue, "le même objet avec un nom différent" est la définition même de la référence.
  • C'est pourquoi la définition de conditions et d'éviter l'ambiguïté est important. (L'article de Wikipédia admet que le terme est ambigu, c'est pourquoi j'essaie d'éviter de Passer Par Référence", sauf dans les cas où, en sans équivoque signifie que changer le nom local de liaison affecte l'appelant.)
InformationsquelleAutor Basit | 2013-06-02