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); 回答1: 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]" .