Pialy Tapaswi Pialy Tapaswi - 4 years ago 62
Javascript Question

Using the variable "name" doesn't work with a JS object

The behaviour can be seen in this little snippet (execute it as a global script):

var name = {};
name.FirstName = 'Tom';
alert(name.FirstName);


The alert yields
undefined
in Chrome but works in IE and Firefox. I also get a weird value when I do

alert(name);

Answer Source

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.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download