在 JavaScript 中更改另一个函数中的变量

2023-12-13

我对 JavaScript 还很陌生,并且对变量和函数的一些属性遇到了麻烦。

我想要发生的是有一个var在一个函数中定义,在另一个函数中更改值,然后将新值返回到最初定义它的函数。

这是我制作的一个简单示例:

function getIt(){
    var x = 3;
    doubleIt(x);
    alert("The new value is: " + x);
}

function doubleIt(num){
    num *= 2;
    return num;
}

运行此命令时,警报仍显示原始值x。是否有语法可以更改原始函数中的值?


最简单的方法是将结果分配回变量

x = doubleIt(x);

Demo: http://jsfiddle.net/ES65W/


如果您确实想通过引用传递,则需要一个对象容器来承载该值。 JavaScript 中对象是通过引用传递的:

function getIt(){
    var myObj={value:3};
    doubleIt(myObj);
    alert("the new value is: " + myObj.value);
}

function doubleIt(num){
    num.value *=2;
    //return num;
}

Demo: http://jsfiddle.net/dwJaT/

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

在 JavaScript 中更改另一个函数中的变量 的相关文章

随机推荐

  • 计算数据帧中连续的数并获取发生这种情况的索引

    我有一个pandas DataFrame具有整数列名称 其中包含零和一 输入示例 12 13 14 15 1 0 0 1 0 2 0 0 1 1 3 1 0 0 1 4 1 1 0 1 5 1 1 1 0 6 0 0 1 0 7 0 0 1
  • 活动窗口上的 Windows 系统事件是否发生变化?

    我正在开发的桌面应用程序需要知道应用程序运行时哪些窗口处于活动状态 目前它执行GetForegroundWindow 呼叫user32 dll 每 250 毫秒一次 该方法不是很准确 是否有任何 Windows WINAPI 事件在每次活动
  • sqlite 查询获取所有表名列表以及其中的记录数

    请帮助解决以下查询 sqlite 查询获取所有表名列表以及其中的记录数 我想获取 Sqlite3 数据库中每个表的行数 我想避免写出手写查询 我可以获得这样的表列表 选择名称 FROM sqlite master WHERE type ta
  • Python:如何设置Python请求的参数

    我有这个可以运行的 python 请求代码 但我不明白参数代表什么 我想了解如何设置 python 请求的参数以及是否有很好的参考 这是我使用的代码 url https www walmart com store 1003 York pa
  • “ASN1 损坏了数据。”替换公钥但不替换私钥时出错

    学习使用 RSA 签名的机制 我有一个可以在下面运行的代码块 var privateRSAKey File ReadAllText RSAPrivateKey txt Trim Regex privateRSAKeyRegex new Re
  • 关于 ruby​​ 中“获取”的问题[重复]

    这个问题在这里已经有答案了 我想知道为什么当我尝试获取不同的输入时 它会忽略我的第二个输入 usr bin env ruby Class Definitions class Animal attr accessor type weight
  • 检测设备会话何时过期

    我想使用 devise 来记录用户会话何时超时 timeoutable 眼下 timeoutable正在按预期工作 并在指定的不活动时间后将用户重定向到登录页面 但除此之外 我们还希望在发生这种情况时进行记录 以帮助优化我们的超时期限 显然
  • Composer 中的自动增量字段

    创建 Asset 实例时是否有可用的 auto increment 字段类型 例如 资产 ID 应该是自动生成的字段 并且应该在运行时创建 而不是在应用程序级别提及该值 我可以通过创建一个交易处理器函数来检查资产列表并添加 1 作为替代方案
  • 通过 svg 路径滚动移动图像

    我想通过滚动上的 svg 路径移动对象 我试图将滚动上的部分路径添加到路径中 但它仍然不起作用 救命 https jsfiddle net YuriiBielozertsev Ltx9ed0L
  • ColdFusion 表单中的复选框

    我的代码如下 页面加载时 我需要默认选中这两个复选框 这将显示查询的结果 现在 当取消选中其中一个复选框时 需要提交表单并需要显示不同的查询结果 即使我取消选中复选框 这些复选框也始终会被选中 有人可以在这里指导我吗
  • 如何在java spring boot中将字节数组作为内存文件返回?

    我有一个字节数组作为数据 现在 如何使用 Spring Boot 编写一个控制器方法来将此字节数组作为文件返回 如果我用这个字节数组数据创建一个文件 那么我还应该删除它 对吗 有没有办法将此字节数组作为文件发送 而不必在我的项目中物理创建文
  • 如何获取相机应用程序的包名

    感谢之前的回复 是否可以获取设备上安装的相机应用程序的包名称 如果操作系统是自定义的 则默认包名称将由设备制造商更改 如何通过编码获取包名 我不确定这是否可能 你尝试过这个吗 PackageManager packman getPackag
  • 将绘图打印/保存为 png 文件,并在 Octave 中出现 alpha 通道问题

    如何将绘图打印 保存为带有 Alpha 通道的 png 文件 I tried 在具有透明背景的 Octave 中保存绘图 我正在使用 Octave 4 2 2 Ubuntu 18 04 64 位和graphics toolkit fltk
  • 通过 python-ldap 使用 Active Directory 中的 unicode 编码字符串

    我已经提出了这个问题 但经过一些测试后 我决定创建一个包含一些更具体信息的新问题 我正在使用 python ldap 和 Python 2 7 从我们的 Active Directory 读取用户帐户 这确实有效 但我对特殊字符有问题 当打
  • 将图像保存到媒体库 WP7

    我无法将图像保存到 Windows Phone 媒体库中 这是我的代码片段 public void SaveImageTo string fileName fileName jpg var myStore IsolatedStorageFi
  • Firestore 中可以使用多少个集合文档对?

    我有一个具有以下架构的应用程序 HOME gt Collection gt Document gt Collection gt Document 和代码 db collection coll doc doc collection subco
  • 元更改事件未触发

    我有一家商店 看起来像这样 Ext define GridGeneral store GridGeneralStore extend Ext data Store model GridGeneral model GridGeneralMod
  • 获取其他收件箱的参考

    我正在使用 Outlook 2007 并且有我的主邮箱 Tait Mark 我还在我的个人资料中添加了另一个邮箱 采购 请求 两者都显示为 Outlook 中的顶级文件夹 邮箱 泰特 马克 gt 对话历史记录 删除的项目 草稿 收件箱 垃圾
  • 在 WCF 中处理图像

    我有一个桌面应用程序 需要通过 TCP 协议向服务计算机上传 下载图像 起初 我将图像存储在文件系统中 但我需要在 MS SQL DB 中比较哪种解决方案更好 图片数量超过五十万 我还不知道照片尺寸是否有限制 如果您曾经这样做过 请写下您对
  • 在 JavaScript 中更改另一个函数中的变量

    我对 JavaScript 还很陌生 并且对变量和函数的一些属性遇到了麻烦 我想要发生的是有一个var在一个函数中定义 在另一个函数中更改值 然后将新值返回到最初定义它的函数 这是我制作的一个简单示例 function getIt var