Skip to content

Instantly share code, notes, and snippets.

@RammusXu
Last active May 6, 2016 02:36
Show Gist options
  • Save RammusXu/80c736aba5a7ce874280646a4d49038b to your computer and use it in GitHub Desktop.
Save RammusXu/80c736aba5a7ce874280646a4d49038b to your computer and use it in GitHub Desktop.
variable changed by other, but I just want to get a clone of it
var mo = require('./module')();
console.log(mo);
var who = mo.A;
console.log(who);
who.name ='wal2er';
console.log(who);
console.log(mo);
module.exports = function() {
return {
A: { name: 'rammus', gender: 'man' },
B: { name: 'J', gender: 'woman' }
};
};
module.exports = {
A: { name: 'rammus', gender: 'man' },
B: { name: 'J', gender: 'woman' }
};
@RammusXu
Copy link
Author

RammusXu commented May 5, 2016

result : module-1

{ A: { name: 'rammus', gender: 'man' },
  B: { name: 'J', gender: 'woman' } }
{ name: 'rammus', gender: 'man' }
{ name: 'wal2er', gender: 'man' }
{ A: { name: 'wal2er', gender: 'man' },
  B: { name: 'J', gender: 'woman' } }

result : module-2

{ A: { name: 'rammus', gender: 'man' },
  B: { name: 'J', gender: 'woman' } }
{ name: 'rammus', gender: 'man' }
{ name: 'wal2er', gender: 'man' }
{ A: { name: 'wal2er', gender: 'man' },
  B: { name: 'J', gender: 'woman' } }

@RammusXu
Copy link
Author

RammusXu commented May 5, 2016

Solution 1: use module-1.js

var mo = require('./module');
console.log(mo());
var who = mo().A;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment