这个问题已经在这里有了答案: > Why is window.name cached? 2个
每当我初始化一个名为“ name”的变量时,它就会通过页面保留其值.
像这样:
page1.html
<html>
<script>
var name = prompt("What's your name?");
alert(name);
</script>
<a href='page2.html'> Page2</a>
</html>
page2.html
<html>
<script>
alert(name);
</script>
</html>
因此,在两个页面中,变量名都保持第一页提示中给出的值,这两个页面提醒着同一件事,有人可以解释一下为什么会这样吗?
解决方法:
您看到的行为是不正常的,几乎对其他任何变量都无效.名称实际上是Javascript中的保留变量,这就是为什么您看到有趣的行为的原因.
Javascript中的所有变量都是window对象的属性.如果创建一个名为age的变量,则也可以在window.age*问它. window.name是当前浏览器窗口的特殊属性,允许为其指定名称,并且该值可以在页面之间保留.
如果您将变量的名称更改为age,它将恢复正常工作-该变量在page2.html中为空.
A little more about window.name