回复 11楼 冰镇柠檬汁儿
我说的覆盖就是window.name的值被覆盖啊。js是做不到将一个变量声明为string类型,因为js本身就是弱类型语言,给一个变量什么值,这个变量就是什么类型,变量的类型是根据它的值来决定。
好比window.alert是function类型,但alert=[1,2,3]之后,alert就变成了数组类型。
再来说window.name,即使它原来是字符串类型,给它一个数组,它是不是也应该抛弃它原来的字符串类型而变成数组类型呢,
可能是给window.name赋值时,浏览器内部会将值转为字符串赋给name,也可能是读取window.name时,浏览器内部将window.name转为字符串类型返回。
至于是怎么转成字符串类型的,不知道,但为什么唯独对name这么处理,对alert为什么不转成function类型而是乖巧的变成数组。。。。。。