The following example uses JS for example, to other languages, such as Python.
var Example = funcion () {
this.table = {};
}
Example.prototype.getTable = function () {
return this.table;
}
var ex1 = new Example ();
var table = ex1.gettable ();
Table.push (' value1 ');
var table = ex1.gettable ();
The GetTable method returns a reference to the next sentence,table.push (' value1 ') secretly modifies the internal value of the Ex1 object
The advantage: There is no need to do so many copy action, it is good for program performance.
Cons: The above code already shows that the var table value may be changed by you unexpectedly, very obscure, you have no way to control.
Again the specific disadvantage of a quote.
var list = [];
var table = ex1.gettable ();
var list.push (table);
Ex1 no reference, the Ex1 object is reclaimed by the system, but the table is not destroyed, always in the list, if the list forgot to delete the table, it is a potential memory leak.
Problems with JS references