【问题标题】:Javascript, modifying variables in other filesJavascript,修改其他文件中的变量
【发布时间】:2020-11-28 17:13:05
【问题描述】:

我有两个这样设置的文件:

file2.js

var someVariable;

function setVariable(newVar){
    someVariable = newVar;
}

file1.js

const file2Mod = require('./file2');

function initializeStuff(){
    .
    .
    .
    file2Mod.setVariable(4);
    .
    .
    .
}

由于某种原因,即使在我调用 setVariable 之后,someVariable 的值 仍然未定义。我试过在里面打印 someVariable 的值 赋值前后setVariable到控制台,都成功了 在 setVariable 内分配。不知何故,当我尝试时,这不是翻译 访问 file1.js 中其他地方的 someVariable。我是 javascript 新手,所以我 我可能犯了一个愚蠢的错误。如果需要更多信息来解决 问题,我很乐意提供。任何建议将不胜感激!

谢谢!

编辑:

我忘了提,我在 file2.js 的末尾导出 像这样:

exports.someVariable = someVariable
exports.setVariable = setVariable

【问题讨论】:

  • 请提供实际的minimal reproducible example。这似乎是过度简化的代码,因为您甚至没有在 file2 中导出任何内容。
  • 如果您希望全局显示,请在窗口上下文中设置变量...
  • 当您导出变量时,您正在导出该变量的值。当原始变量发生变化时,它不会自动更新导出/导入的值。
  • 谢谢Guy Incognito,您的评论有效!非常有用,非常感谢!

标签: javascript


【解决方案1】:

window.someVariable = "abc"

试试这个。

【讨论】:

  • 这显然是 Node.js。即使不是,在全局范围内声明var someVariable = "abc"window.someVariable = "abc" 完全相同。
猜你喜欢
  • 1970-01-01
  • 2017-03-09
  • 1970-01-01
  • 1970-01-01
  • 2014-07-21
  • 2017-05-16
  • 1970-01-01
  • 1970-01-01
  • 2014-08-25
相关资源
最近更新 更多