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 的角度来看,它只是看到你的函数定义没有执行,然后继续你的第二个警报。希望这有帮助
为了好玩和学习,我最近开始从事自己的 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 的角度来看,它只是看到你的函数定义没有执行,然后继续你的第二个警报。希望这有帮助