I made a mistake in the call gui.remember(obj);and gui.add(obj, 'x');in the wrong order.
So this solution:
var obj = { x: 5 };
var gui = new dat.GUI();
gui.remember(obj);
gui.add(obj, 'x');
What happens is that dat.gui makes the internal map of objects remember when the function is called gui.add(). This map is gui.__rememberedObjectIndecesToControllers[]used in the internal function getCurrentPreset()when storing values.
, gui.__rememberedObjects[], .
, - , , gui.__rememberedObjectIndecesToControllers[], undefined.
http://workshop.chromeexperiments.com/examples/gui/#5--Saving-Values , :
var fizzyText = new FizzyText();
var gui = new dat.GUI();
gui.remember(fizzyText);