为什么在首次使用后不需要初始化变量’name'[Javascript]

这个问题已经在这里有了答案:            >            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

上一篇:Target runtime Apache Tomcat 6.0 is not defined 解决方法(转)


下一篇:eclipse:Target runtime Apache Tomcat v8.0 is not defined 错误解决方法