【问题标题】:Javascript: Why aren't my global variables updating?Javascript:为什么我的全局变量没有更新?
【发布时间】:2019-04-01 01:45:26
【问题描述】:

这是我想要做的:https://codesandbox.io/s/88ow75kqx0 在 test.js 文件中,我正在更新变量然后将其导出,但它没有正确更新,并且在发送时仍然具有其原始值。是吊装的原因吗?

var send = 5;

function modify() {
  send = 8;
}
export var globalVariable = {
  //send does not change to 8
  output: send
};

在 testpass.js 中:

import { globalVariable } from "./test.js";
document.getElementById("btn").addEventListener("click", function() {
  //prints 5 not 8
  alert(globalVariable.output);
});

【问题讨论】:

  • 请将所有相关代码放入问题本身。我们不应该仅仅为了查看您的初始问题而离开现场。演示很棒,但仅作为对问题中实际存在的内容的支持。还对代码应该做什么、正在做什么或没有做什么以及任何错误提供适当的详细说明。见How to Ask
  • 我修好了
  • 没有任何显示调用modify()。更新原始变量也不会更新引用其值的对象。

标签: javascript export global-variables hoisting


【解决方案1】:

你需要调用修改函数

var send = 5;

function modify() {
  send = 8;
}

modify();

 export var globalVariable = {
  //send does not change to 8
  output: send
};

console.log(globalVariable)

对代码沙箱https://codesandbox.io/s/8ljqv41wr0进行了更新

【讨论】:

    猜你喜欢
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多