为什么变量“name”在第一次使用后不需要初始化[Javascript] [重复]

2023-12-02

每当我初始化一个名为“name”的变量时,它都会在页面中保留其值。

像这样:

第1页.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>

因此,在两个页面中,变量名称都保留在第一页提示中给出的值,两个页面都会发出相同的警报,有人能解释一下为什么会发生这种情况吗?


您看到的行为是不正常的,并且不适用于几乎任何其他变量。name实际上是 Javascript 中的保留变量,这就是为什么您会看到有趣的行为。

Javascript 中的所有变量都是window目的。如果您创建一个名为age,您也可以访问它window.age. window.name是当前浏览器窗口的一个特殊属性,允许为其指定名称,并且该值可以在页面之间保留。

如果将变量名称更改为age,它将恢复按预期工作 - page2.html 中的变量将为空。

更多关于window.name

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么变量“name”在第一次使用后不需要初始化[Javascript] [重复] 的相关文章

随机推荐

  • Selenium WebDriver 和 Selenium 服务器

    我需要你的帮助来连接与硒相关的东西 在过去的几周里 我一直在阅读有关 Selenium 的文档 有selenium IDE 用于记录和重放测试的firefox扩展 硒 RC 硒 1 0 现在似乎已弃用 并使用代理 HTTP 服务器在多个浏览
  • IOS JSON 反序列化失败 - STIG/NSJSONSerializer

    我想反序列化从 IOS 中运行的 Web 服务收到的简单 JSON NickName James Roeiter3 TempId 634783760669935686 LDAP XUserName15 SecToken null NickN
  • OPENGL用户界面编程[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在开发一个图形应用程序来呈现数据 不是游戏 而是真正的主力应用程序 它需要跨平台 所以我选择了 python openGL 我需要 3D 混合
  • Excel VBA 循环遍历数据透视项

    我想循环遍历我的数据透视项并检查它们是否存在于另一个表中 请参阅我的示例屏幕截图 所以我想循环遍历所有颜色 检查它们是否存在于另一个表中 例如在另一个表中 有什么办法可以做到这一点 这样就会出现一个消息框 提示在列表中找不到紫色 非常感谢您
  • 如何在shell脚本中增加版本号?

    以下简单的版本控制脚本旨在查找给定文件的最后版本号 递增它 使用新创建的文件 例如编辑器 运行给定命令 然后将其保存到稳定版本 由于它很简单 因此不会检查任何内容 因为脚本会根据需要进行修改 例如 如果结果不稳定 用户可以省略最后一个参数
  • Java中有秒表吗?

    Java中有秒表吗 在 Google 上我只找到了不起作用的秒表代码 它们总是返回 0 毫秒 我发现这段代码不起作用 我不明白为什么 public class StopWatch private long startTime 0 priva
  • 在 VB 中从 SQL 检索数据(第 2 部分)

    我正在尝试通过 sql 从数据库检索数据来填充列表框 我之前已经问过这个问题 但我使用的是不同的配置 而我现在使用的配置没有给出任何结果 从 SQL 中检索 VB 中的数据 那是我的旧帖子 我现在将提供我的尝试的新版本的代码 Imports
  • 对 LinqDataSource 使用通配符

    我目前在 ASP NET 页面上有一个 LinqDataSource 用作 FormView 的数据源 我需要动态改变where基于通过查询字符串传递的参数的子句 除了我希望最终用户能够使用通配符之外 我的工作正常 A 用于表示单个字符 代
  • Eclipse RCP 中的全局变量

    我该如何解决这个问题 我的主 RCP 插件中有用户凭据信息 所有其他插件也应该具有该信息 偏好存储是不可能的 因为偏好存储还需要一个全局可用的节点名 有没有可能实现全局变量 Thanks 有几种选择 快速而肮脏的方法是将全局变量的 gett
  • 如何在PageObjectModel中的PageFactory中添加显式等待?

    我已经添加了硬编码等待thread sleep 在我下面的代码中 如何使用显式等待 我想等到 用户名 WebElement 出现 我的程序运行完美 我已经写好了测试用例 package com pol zoho PageObjects im
  • C# 中 VB.NET 类型转换函数 (CBool​​) 的替代方案?

    有没有什么可以替代VB的CBoolC 中的关键字 那么其他所有功能呢 CBool将转换为布尔值任何有效的布尔值 0 False null etc 诀窍是CxxVB NET 中的 函数 实际上并不是函数 事实上 他们更像是运营商编译器将其转换
  • WooCommerce:从产品变体中获取自定义字段并将其显示为变体价格的后缀

    我试图从产品变体的自定义数字字段中获取值 并将其显示为变体价格的后缀以及自定义文本 我的工作时间是从 WooCommerce 从产品变体中获取自定义字段并将其显示在 附加信息区域 将自定义文本添加到 Woocommerce 中的变化价格 这
  • 文件系统 API:文件和文件夹位于何处

    我目前正在开发一个 Chrome 应用程序 需要访问本地文件和目录 我的问题是当我创建文件或文件夹时它们位于哪里 该扩展当前位于我的主目录中 并且创建的文件不在扩展目录中 文件系统 API 是 虚拟的 因为您无法将文件完全按字面意思存储在客
  • 如何在 MATLAB 中绘制 4D 轮廓线 (XYZ-V)?

    我有 XYZ 数据集作为坐标 V 作为每个点的值 100x4 矩阵 我使用 patch 绘制 3D 曲面 按面和顶点 如何在 3D 表面上绘制 V 而非 Z 的轮廓线 Contour3 函数绘制 Z 的 3D 轮廓线 但我需要 V 的轮廓线
  • 如何在我的 SupportFragment 中添加 YouTube 播放器?

    我的 XML 代码
  • 从 .sql 文件顺序调用存储过程

    我被困在这里了 我有一个程序 我想连续运行 X 次 X 是几千次 基于输入数据的过程执行以下操作 1 查找 actions id 如果没有找到LEAVEs 2 查找users id 如果没有找到 则创建一个并使用LAST INSERT ID
  • Android AES加密/解密

    我已经成功编写了用于文件加密 解密的函数 但它非常慢 尤其是随着文件大小的增加 例如几 MB 长的音频 视频文件 我已经浏览了几乎所有的帖子来改进它 并尝试改变算法 如果有任何改变可以帮助我提高性能 请帮助我 public class Da
  • Firefox 中不显示 Google 字体

    对于我的网站 我使用了几种谷歌字体 import url https fonts googleapis com css family Montserrat 400 700 import url https fonts googleapis
  • 如何从 R 中的文章包将 Latex 包添加到 R Journal 模板

    我在用rticle由 RStudio 打包以使用 R 语言编写文章rmarkdown包裹 草稿模板中有一个选项 preamble gt Any extra latex you need in the preamble output rtic
  • 为什么变量“name”在第一次使用后不需要初始化[Javascript] [重复]

    这个问题在这里已经有答案了 每当我初始化一个名为 name 的变量时 它都会在页面中保留其值 像这样 第1页 html a href page2 html Page2 a page2 html 因此 在两个页面中 变量名称都保留在第一页提示