问题标签 [call-by-value]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 为什么javascript使用引用调用,有时:D
你好
我花了大约 4 个小时调试奇怪的问题
我的工作流程是
所以在循环 async.each 之后改变我的配置值,比如它是通过引用调用的
所以我的问题是javascript中的默认行为是使用引用调用还是异步行为?
编辑
它与异步无关
请测试这个例子
java - Java EE 中对象的引用。远程和本地接口的区别?
据我所知,Java 只是引用调用。如果一个实体必须通过远程接口,它还能有引用吗?现在实体基本都在另一个容器里了,怎么还有对象的引用呢?换句话说:“通过”远程接口的实体是否可能不仅仅是引用,而是对象的副本(按值调用)?
抱歉,如果这是一个愚蠢的想法,但是整个引用调用(或引用传递?)概念在 Java EE 中让我感到困惑。
编辑:换句话说:会话 bean 中的对象总是作为引用传递吗?
pass-by-reference - 按引用调用和按值调用结果
好吧,我和我的朋友就下面的代码进行了辩论。我们对它产生的输出有点困惑。有人可以澄清以下代码的引用调用和值调用结果吗?
在参数通过值结果和引用传输到过程 p 的情况下,此程序的结果输出。
lambda - Church-Rosser 定理是否适用于按值减少调用?
我一直在研究 lambda 演算,最近看到了 Church-Rosser 定理。该定理指出,当对 lambda 演算中的项应用归约规则时,选择归约的顺序不会对最终结果产生影响(来自 wiki)。但我发现这与按值调用减少和正常订单减少不一致。例如,当遵循正常的降阶规则时,可以将 λ 项 λz.(λx.x) y 减少为 λz.z。但是当使用按值调用减少时,它不能进一步减少,因为按值减少禁止在 λ 抽象内进行减少。因此,术语 λz.(λx.x) y 不能使用不同的规则评估为相同的结果,这似乎与 Church-Rosser 定理相矛盾。这里有什么问题?请帮帮我。非常感谢!
c# - 按值传递 - 列表名称
有人可以告诉我我在这里做错了什么吗?我试图将列表名称传递给将删除列表中所有行的方法:
我得到的错误是在 context.Load(collListItem);
它说该对象在与与该对象关联的上下文不同的上下文中使用。我还能如何将列表的值传递给 Delete() 方法?
xml - 值问题的 XML 函数?
我有一个函数,它返回一个带有各种键的哈希表,其中一个是 XML。我还有一些代码打算在返回之前修改这个 XML。但是,我遇到了最初看起来像是管道污染的问题,但我已将其隔离到 XML 替换代码中。
因此,最初我使用返回哈希中的键直接替换了所有 XML $result.xml
。但是,我已经更改了代码以使用这样的单独变量:
然而,最后两行中的任何一行都是导致$return
散列爆炸的原因。这让我觉得我记得关于 XML 是通过引用而不是通过值的一些事情,所以我真正在做的是直接访问 XML,只是通过一个新的指针,而我正在改变的东西以某种方式炸毁了整个哈希表变量还引用了 XML。这听起来对吗,还是我已经走错了路?
也,也许是相关的。我最终要做的是$result.xml
在不同的$temp.xml
(从不同的文件加载)中搜索特定节点,如果找到,将 in 替换为$result
from 中的一个$temp
。我尝试使用ReplaceChild()
,但这似乎不起作用,可能是 PowerShell 2.0 问题。
那么,有了这两位数据,有没有更好的方法来修改 XML,有没有办法让它与一个按值正确传递 XML 的函数一起工作?FWIW,我正在重构以避免我成功使用的全局 XML 变量。我通常不喜欢全局变量,但也许这是我必须使用它们的一种情况?
编辑: 因此,试图隔离问题并遇到新问题。这里我试图在函数中创建两个 XML 变量,将一个变量中的节点替换为另一个变量中的节点并将其传递回函数中,然后写入控制台以验证结果是否正确(区别在于 SilentModeID 应该是9)。问题是这里的两个字符串不起作用。也尝试使用单引号,但仍然抛出错误。并不是真正的苹果对苹果,因为在我的真实代码中我没有在这里使用字符串,我正在从文件中读取 XML,但出于讨论的目的,这似乎是更好的方法。那么,第一个新问题,我到底对这里的字符串做错了什么?一旦它工作了,我们就可以看到传递回 XML 是否以同样的方式被破坏。
c# - 这是引用调用吗?
我有一个数组列表:
我还有另一个 ArrayList:
为什么在我运行此代码时returnList 会失去它的价值?
python - 尝试在 python 中使用 tkinter 创建登录页面,似乎不起作用
下面的代码是我正在处理的,我正在尝试创建一个登录页面并验证用户名和密码。理想情况下,当我单击提交按钮时应该调用 loginValidate 函数,但它甚至在我这样做之前就被调用。user_login 和 pwd_login 值似乎也没有传递给函数 loginvalidate。请帮助我解决问题。
compiler-construction - 这会在按名称调用和按值调用下打印什么?
我有这行玩具语言的代码。-functionprint
接受参数列表并打印这些参数。
print(a, (a := 5, a))
如果我使用按值调用或按名称调用,输出会有所不同吗?如果是这样,输出将是什么。
可以假设a
被初始化为0
。
scala - 按值调用和按名称等效
我正在参加有关函数式编程的 Coursera 课程,并且在某些时候他们讨论了按值调用和按名称调用评估技术之间的区别。他们有些让我困惑,他们说:
两种技术都减少到相同的最终值,只要:
- 简化的表达式由纯函数和
- 两个评估都终止
这似乎是一个 lambda 演算定理。
你能解释一下“简化的表达式由纯函数组成”是什么意思吗?