Javascript - 更改作为另一个变量定义一部分的变量值

加利文

我有一个变量,其值部分由另一个变量定义。我想更改该变量的值,以便初始变量也更改。但这不会发生。看第二行:

var offset = 0;
var message = 'the number is ' + offset;

如果我修改 "offset" ,那么 "message" 不会改变:

console.log(message);   //this says 'the number is 0'

offset +=20;             //offset is changed to 20

console.log(message);     //the message is still 'the number is 0'

为什么它不起作用,我该如何解决?

贝赫拉德·霍达亚尔

它只是一个简单的分配,当程序流到达它时,连接"the number is"偏移值并继续向下一行直到程序结束。

这就是 Javascript 的本质,原始类型(Number、String 等)是按值传递的。所以 中的变化offset不会反映在message.

变量不“持有”对象,它持有一个引用。您可以将该引用分配给另一个变量,现在两者都引用同一个对象。它总是按值传递(即使该值是引用......)。没有办法改变作为参数传递的变量所持有的值,如果 JS 支持按引用传递,这将是可能的。从这里

为了获得始终依赖的消息值,您可以将其定义为函数:

var offset = 0;
var message = function(){
  return('the number is ' + offset);
}

console.log(message());   //this says 'the number is 0'

offset +=20;             //offset is changed to 20

console.log(message());  //this says 'the number is 20'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从javascript中的另一个模块更改变量值

修改作为网页的一部分下载的javascript

jQuery / Javascript-变量采用了另一个变量值

如何将变量值放在javascript中的另一个变量中?

根据JavaScript中的另一个变量值动态访问变量

使用另一个变量值更新javascript变量

检查一个javascript数组是否包含另一个数组的所有元素或元素值的一部分

如何在Javascript中将变量值放在另一个变量名中

如果字符串包含另一个字符串的一部分,则为Javascript

将json的一部分(当前作为字符串)分配给JavaScript中的变量

如何在 JavaScript 中为新的变量值分配一个变量值

用javascript更改链接的一部分

变量什么时候成为JavaScript函数环境的一部分?

将JSON对象的一部分存储在javascript变量中

如何将我的Javascript变量打印为HTML属性的一部分?

如何将 javascript 对象的一部分存储到变量中?

我想将范围变量用作我的javascript onfocus函数的参数的一部分

使用变量作为另一个变量名的一部分

Django使用模板变量的值作为另一个变量名的一部分

linkedin Uncaught错误:您必须指定一个有效的JavaScript API域作为此注册表项配置的一部分

如何将javascript变量值从选定的文本框设置为另一个文本框

批量将一个变量与另一个变量的一部分匹配

powershell如何找出一个变量是否是另一个变量的一部分

有没有办法将 javascript 变量用作 PHP SQL 页面的一部分?

jQuery / JavaScript-从window.location剥离一部分URL,并用作变量

如何做onclick Javascript会话for循环的一部分变量,并通过ajax重新发布

如何更改作为内部 html 一部分的一个元素的引导程序类?

Javascript将HTML标签作为innerHTML输出到屏幕的一部分

用另一个变量的值替换变量名的一部分?