Skip to content

Instantly share code, notes, and snippets.

@ststeiger
Created July 15, 2015 11:43
Show Gist options
  • Select an option

  • Save ststeiger/1b895fad0caa8aa61665 to your computer and use it in GitHub Desktop.

Select an option

Save ststeiger/1b895fad0caa8aa61665 to your computer and use it in GitHub Desktop.
JavaScript: Push & new Object by reference
// Very interesting JavaScript behaviour:
var mOptions = {abc:"def", ghi: "jkl"};
console.log(mOptions);
var a = this.mOptions;
console.log(a);
var x = [];
x.push(a);
console.log(x);
a.abc="Miau !";
console.log(x);
console.log(mOptions);
// -------
var mOptions = {abc:"def", ghi: "jkl"};
console.log(mOptions);
var a = new Object(this.mOptions);
console.log(a);
var x = [];
x.push(a);
console.log(x);
a.abc="Meow !";
console.log(x);
console.log(mOptions);
// ====================================
var mOptions = {abc:"def", ghi: "jkl"};
console.log(mOptions);
var a = JSON.parse(JSON.stringify(this.mOptions));
console.log(a);
var x = [];
x.push(a);
console.log(x);
a.abc="Miau !";
console.log(x);
console.log(mOptions);
this.mOptions.abc = "ROFL";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment