JavaScript 全局变量在函数内变为未定义

2024-03-22

由于某种原因,JavaScript 全局变量在函数内部变得未定义。不明白为什么。您可以复制并运行代码。正如您所看到的,全局变量“target”在第一个警报中定义,但随后在函数内变为未定义。 这是代码:

<!doctype html>
<html>
<head>
    <title>Colors</title>
</head>
<body onload="do_game()">
<script>
var target;            
var guess_input;      
var finished = false;   
var guesses = 0;
var colors = ['blue','brown','gold','gray','green','orange','pink','purple','red','yellow'];

function do_game() {
    var random_number = Math.random() * 10;
    var index = Math.floor(random_number);
    var target = colors[index];
alert("target = " + target);
    while (!finished) {
        guess_input = prompt("I am thinking of one those colors:\n\n"+ colors +
                                  "\n\nWhat color am I thinking of?").toLowerCase();
        guesses += 1;   
        finished = check_guess();
    }
}
function check_guess() {
alert('guess_input=' + guess_input +',  target=' + target);
return true;   
}
</script>
</body>
</html>

您在函数内再次声明变量。var target = colors[index];。如果你想分配colors[index]向全球target那么不要使用var,否则它将被分配给函数内的局部变量。

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

JavaScript 全局变量在函数内变为未定义 的相关文章

  • 使用 PHP 和 MySQL 的服务器端事件

    我正在使用 PHP 和 MySQL 构建一个 非常基本的 应用程序 该应用程序的目的是在网页上显示 实时 数据交易 这些交易来自于transactionsMySQL 数据库中的表 到目前为止 我可以在网页上检索并显示数据 不过我期待看到数据
  • JS 在两个或多个点之间画线

    我需要在两个标签或标签之间画一条线 Example http caitriona github io connect the dots http caitriona github io connect the dots 我需要做这样的事情
  • 使用 Gmail 上下文小工具访问附件

    我想将电子邮件及其附件从 Gmail Google Apps 保存到另一个数据库以实现类似 CRM 的功能 然而 根据docs http code google com apis gmail gadgets contextual 提取器无法
  • 在 Node.js 中包含另一个文件中的 JavaScript 类定义

    我正在为 Node js 编写一个简单的服务器 并且使用我自己的类 名为User看起来像 function User socket this socket socket this nickname null just the typical
  • 如何在单页应用程序中使用 #-URL?

    本文 http danwebb net 2011 5 28 it is about the hashbangs提出了一个非常令人信服的论点 因为 URL 是长期存在的 它们被添加书签并传递 所以它们应该是有意义的 并且使用哈希进行真正的路由
  • mocha.opts 已弃用,如何迁移到 package.json?

    我正在开发一个大型项目 自从上周我更新了摩卡以来 现在我们收到警告 DeprecationWarning 通过 mocha opts 进行的配置已被弃用并且 将从 Mocha 的未来版本中删除 使用 RC 文件或 改为 package js
  • 弃用警告:时刻构造回退到 js Date

    我正在尝试转换这个日期时间 150423160509 这是 utc 日期时间 改为以下格式 2015 04 24 00 05 09 本地时区 通过使用 moment js var moment require moment timezone
  • 如何针对 IE 进行优化?

    我有一个 JS 密集型应用程序 它在 IE 中运行缓慢 我将花费大约一周的时间来优化 IE 并且我想要一些关于尝试的方向 我发现这个线程引用Drip https ieleak svn sourceforge net svnroot iele
  • 如何显示/隐藏jsf组件

    在我的一个 JSF 应用程序中 顶部的标题部分包含 selectOneMenu 底部的内容部分显示过滤器组件 默认情况下 应用程序首先在顶部显示 selectOneMenu 数据 在底部显示相应的 Filter 信息 如果用户选择不同的se
  • 预加载 javascript 和 css 文件

    我目前正在开发一个移动网站 该网站大量使用图像 CSS 和 JavaScript 例如 它使用未压缩的 150KB 的库 我为图像构建了一个预加载器 效果相当好 function loadImages images var sum 0 fo
  • 使用淘汰赛动态显示/隐藏元素

    我有一个表 有四列 即代码 名称 数量和价格 其中 我想动态更改数量列的内容 元素 通常 它应该显示其中显示数量的元素 当用户单击元素时 我想显示该元素 以便用户可以编辑数量 我正在尝试按照 示例2 来实现淘汰赛文档链接 http knoc
  • 获取输入图像类型选择的图片并加载到图像标签中

    所以 我有一个用于上传 img 文件的输入框 我想要做的是从该数据 或选定的源 中获取数据并将其路由到图像标签的 src 属性中 像这样的东西 http jsfiddle net QC2c4 http jsfiddle net QC2c4
  • Lightbox:如何翻译“Image x of x”文本?

    我使用 Lightbox 2 作为图像集 当我的网站的访问者单击该集中的缩略图时 它将显示 图像的放大版本 下面是 描述 取自 a 标题属性 其下方 文本 Image x of x 例如 Image 1 of 12 有谁知道在哪里翻译 更改
  • 带有桌子的嵌套表

    我在应用了表排序器的表中嵌套了表 它在嵌套表中添加了排序标题 但是它们没有对行进行排序 并且抛出了JavaScript错误 我想拥有 嵌套表不可排序 巢表上的排序实际上可以工作 但不是现状 您的第一个选择要容易得多 使嵌套表不可排序 像这样
  • 如何使用 Node.js 解析 JSON? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我应该如何使用 Node js 解析 JSON 是否有一些模块可以安全地验证和解析 JSON 你可以简单地使用JSON parse h
  • 如何使用转义的 unicode 解码字符串?

    我不确定这叫什么 所以我在搜索时遇到了麻烦 如何使用 unicode 解码字符串http u00253A u00252F u00252Fexample com to http example com使用 JavaScript 我试过unes
  • Jquery Ajax 调用返回 403 状态

    我有一个 jquery Ajax 调用来实现会话的 keepalive 这个 keepAlive 方法将每 20 分钟调用一次 function keepAlive ajax type POST url KeepAliveDummy asp
  • redux - 如何存储和更新键/值对

    我正在使用 redux 和 React js 我想存储简单的键 值对 但无法获得正确的减速器语法 在这种情况下 每个键 值对将保持与外部系统的连接 这是正确的做法吗 我刚开始使用 redux 所以这有点神秘 export default s
  • 除非打开开发人员工具,否则 IE8 Javascript 无法运行?

    由于某种原因 在 IE8 中 除非我在打开开发工具的情况下重新加载页面 否则 javascript 不会运行 我关闭开发人员工具并重新加载页面 然后 javascript 停止工作 我没有收到任何错误报告 无论如何它们也没有任何用处 还有其
  • React Router Tabs——保持组件安装

    我使用 React Router 创建了选项卡 每个选项卡都有不同的路线 但是 我想通过保持隐藏选项卡的安装来维护选项卡转换之间的选项卡状态 我该如何实现这一目标 每次路由切换时 React 路由器都会重新安装每个组件 已经有人问过这个问题

随机推荐

  • 将分配给 Fortran 数组的 C_PTR 传递给 C

    我在访问 C 中的数组时遇到段错误 该数组在下面的 Fortran 文件中分配 有一些调试问题 例如文件写入没有写入任何有意义的内容 并且我初始化了一个变量i我从来没有用过 但是 我发现了以下内容 未初始化i 但仍然声明 没有段错误 未在
  • 是否可以从 DataContext.ExecuteQuery 返回匿名对象的 IEnumerable?

    我开发了一个报告引擎 其中报告基于模板 每个模板都有带有 SQL 查询的字符串 每个报告都有 SQL 查询参数的特定值 为了呈现报告 我设置参数并调用数据上下文 执行查询 http msdn microsoft com en us libr
  • npm start 上的 webpack-dev-server 错误

    我正在尝试在 ng2 admin 上运行 npm start 一切正常 直到我执行 npm update 来尝试更新软件包 之后 npm 启动并出现错误 webpack dev server config config webpack de
  • 从 Android WebView 中启动地图

    我有一个 Android 应用程序 它在 WebView 中显示内容 其中包含一个应该打开地图的链接 我有要链接的位置的纬度 经度和街道地址 但我不确定链接的正确格式 大约一周时间没有收到社区对此的任何答复或评论 最后我只是选择 http
  • D3D11 不知从何增加了引用计数?

    我已经使用 d3d11 有一段时间了 在发现 directx 调试器之后 我最近发现我的程序从所有未正确释放的 com 对象中到处泄漏内存 经过一番窥探和盯着代码几个小时后 我开发了一些方法来隔离引用计数意外增加的位置 首先 所有对象都被包
  • 在数据库中存储 JS 数组和对象

    我有一个应用程序 可以让用户用 JS 构建东西 我希望用户能够保存其工作的当前状态以重用或共享它 但他拥有的是存储在 JS 数组中的 JS 对象的集合 具有非常不同的属性 颜色 标签 x y 位置 大小等 SQL 对于该特定任务来说似乎很糟
  • Jenkins:Git 推送将触发仅针对该分支的 Jenkins 构建

    我们正在多个 Git 分支上并行工作 当推送特定的 Git 分支时 我们如何启动 Jenkins 项目 作业来触发该特定分支的构建 举个例子 我们推送一个 Git 分支 feature abc gt 这应该会触发使用 拉动该分支 featu
  • 我可以阻止 numpy.array 将元素转换为 numpy 数组吗?

    我正在尝试将以下内容转换为间隔对象的 2x2 numpy 数组 from interval import interval from the pyinterval package import numpy as np np array in
  • 在循环内附加到 numpy 数组

    我真的希望没有遗漏一些东西 之前已经澄清过 但我在这里找不到东西 这个任务看起来很简单 但我失败了 我想在 for 循环中连续将一个 numpy 数组附加到另 一个数组 step n 10 steps np empty step n 1 f
  • 如何将 groovy 变量传递给 shell 块 jenkins

    我有一个常规变量 我想将其传递给 shell 块以进行进一步处理 但我不断收到粘贴在下面的错误 stages stage First Stage echo out available variables steps script def s
  • 有什么方法可以在免费的heroku dyno上添加免费的SSL证书吗?

    我有一个 heroku 免费计划 它在带有 PointDNS 附加组件的自定义域上运行 因此它可以为 DNS 提供商提供名称服务器 如果这很重要 我已在我的自定义域 https 上启动并运行该网站 但 ssl 证书指向 herokuapp
  • 将引导面板宽度设置为文本宽度

    我是 HTML Bootstrap 新手 所以也许这相当简单 How do you set the panel width引导面板 http getbootstrap com components panels其文本的长度 如果面板无法实现
  • wsdl2py 复杂类型

    如何向 SOAP 请求添加复杂类型 我正在使用 WSDL2py 生成的请求 并尝试使用它在 types py 文件中创建的其他 TypeDefinitions 例如 AccountInfo 用于身份验证 它会进入每个请求 然后将其传递给 w
  • 基于 webkit 的浏览器将 json 解释为脚本

    我只是尝试通过 js 获取我的 Zootool 项目 将它们推送到我的博客页脚中 但没有成功 这是我使用的代码 jquery框架 jQuery document ready function first try var url http z
  • 使用 jspdf 将图像 url 转换为 pdf

    function convertImgToBase64 url var canvas document createElement canvas var ctx canvas getContext 2d img document creat
  • 编译/运行时字符串文字的原始字节流入/流出 Windows(非宽)执行字符集,以及 ANSI 代码页与 UTF-8

    我想确认我对原始字符串文字和 非宽 的理解execution character set在 Windows 上 我希望具体确认的相关段落以粗体显示 但首先 有一些背景知识 背景 相关问题见下文bold 由于下面的有益讨论 TheUndead
  • 使用 Python 函数并生成所有导数

    我有一个参数数量可变的 python 函数 F x1 x2 xN 我想自动生成 N 个函数 表示 F 对每个参数的导数 F 1 dF dx1 F 2 dF dx2 F N dF dxN 例如 我可以同时提供 F x1 sin x1 和 F
  • C,从单个输入行读取多个数字(scanf?)

    我用 C 编写了一个应用程序 需要输入两行 第一个输入告诉 int 数组有多大 第二个输入包含由空格分隔的值 例如 输入以下内容 5 1 2 3 4 99 应该创建一个包含 1 2 3 4 99 最快的方法是什么 我的问题是读取多个数字而不
  • 在 WP7 上将 PivotItem 数据绑定到 ObservableCollection

    我想将 ObservableCollection 数据绑定到 WP7 中的 Pivot 控件 以便 ObservableCollection 中的每个对象都成为 PivotItem 这是我使用的代码
  • JavaScript 全局变量在函数内变为未定义

    由于某种原因 JavaScript 全局变量在函数内部变得未定义 不明白为什么 您可以复制并运行代码 正如您所看到的 全局变量 target 在第一个警报中定义 但随后在函数内变为未定义 这是代码