Javascript: 无法覆盖变量

Javascript: Can't override variable

为了好玩和学习,我最近开始从事自己​​的 html canvas 项目。现在我差不多完成了,我只想将它上传到 Wallpaper Engine,用户可以将其设置为自己的动画壁纸。

为此,我想为用户提供一些壁纸选项的可能性。

我已按照您可以找到的说明进行操作 here

现在我遇到以下问题,选项的变量不会在全局范围内更改,只是在其父级内部更改。见代码:

var scale = 1,
    dotsize = 1,
    dotgap = 8,
    text = 'example',
    fontFamily = 'Arial',
    fontSize = 300,
    radius = 200;



window.wallpaperPropertyListener = {
  applyUserProperties: function(properties) {
    if (properties.text) {
      text = properties.text.value;
      alert(text)
    }
  }
};
alert(text)

从 Wallpaper Engine 获取内容后的第一个警报显示正确的文本(无论用户在文本字段中输入什么)

但是,最后的警报会显示我在上面设置的 'example' 字符串。

我尝试了不同的方法,比如使用 window.text 或 var text 等,但无法弄清楚。

wallpaperPropertyListener 只是一个函数定义,在调用之前不会执行。所以从 javascript 的角度来看,它只是看到你的函数定义没有执行,然后继续你的第二个警报。希望这有帮助