为什么在Chrome中存储到变量"name"的数组转换为字符串?

Pav*_*ati 4 javascript arrays google-chrome

当我var name = [1,2,3]在Chrome的控制台中运行然后访问name我的值时,我会回来"1,2,3".为什么会这样?

在此输入图像描述

Dom*_*nes 7

您所看到的是一个全局变量,它是window对象的一部分.这实际上是浏览器使用的反映窗口名称的值.(见文件)

由于window.name是字符串getter/setter,因此您的数组将被强制转换为字符串.(并且控制台在"全局范围"中运行,因此var name并且window.name是相同的值.(如果您嵌套在一个函数中,这种相同的行为将不适用,因为它不再是全局范围)