Jeremy Belolo Jeremy Belolo - 3 months ago 5x
Javascript Question

Don't change the main object when adding a variable to it in JavaScript

I need to use a variable globally declared, but modify it for the use of a function:

var example = {
selected: '0',
list: {
1: {
value: '1',
name: "example 1"
2: {
value: '2',
name: "example 2"
3: {
value: '3',
name: "example 3"

window.load(function () {
var example2 = example; = "newinfo";
// Use example 2

The problem is, after that, if I console.log(example), it contains the "info" variable, absolutely unwanted. I don't even see why it would have it, I purposely defined a new variable to avoid this.


The single assignment keeps the reference to the original object. So any changes are reflected to the original object.

Just use JSON.stringify and JSON.parse for a copy.

var example2 = JSON.parse(JSON.stringify(example));