window.name has a special purpose, and is supposed to be a string. Chrome seems to explicitly cast it to a string, so var name = {};
actually ends up giving the global variable name
(i.e. window.name
) a value of "[object Object]"
. Since it’s a primitive, properties (name.FirstName
) won’t “stick.”
To get around this issue, don’t use name
as a global variable.