因为将变量命名为 name 产生了一个bug,害我找半天原因,
var name =['1','2','3','4','5']; name "1,2,3,4,5"
查阅资料后了解到 name就是 window.name,用来表示 浏览器窗口的名称,window.name 会调用 toString 将赋给它的值转换成对应的字符串表示。
What you are seeing is a global variable that is part of the window object. This is actually a value the browser uses that reflects the name of the window. (see documentation)
Since window.name is a string getter/setter, your array is being cast to a string. (and the console operates in the “global scope”, so var name and window.name are the same value. (if you were nested inside a function, this same behavior would not apply because it wouldn’t be the global scope anymore)