【发布时间】:2020-04-08 13:54:19
【问题描述】:
我正在使用 Blockly,下面的代码通过字符串变量注入到文档中。字符串(代码)是自动生成的:
var cv; //global variable will execute since used inside onGreenFlagClicked
// will get execute
function helloWorld() {
MinecraftAvatar.waveHelloForNSeconds(7)
}
function onGreenFlagClicked() {
cv = helloWorld();
MinecraftAvatar.sayForNSeconds("I am Mike", 7)
};
Players.walkForwardForNSeconds(7) // no execution
MinecraftAvatar.waveHelloForNSeconds(7) // no execution
在上面的字符串(代码)中,我想在脚本附加到 DOM 时执行onGreenFlagClicked()。我的问题是我只想执行部分代码,例如:变量、函数定义,而不是上面显示的其他内容。
我想禁用
Players.walkForwardForNSeconds(7) // no execution
MinecraftAvatar.waveHelloForNSeconds(7) // no execution
...当代码附加到 DOM 时。
这有可能吗?
【问题讨论】:
-
将整个内容包装在一个 IIFE 中,该 IIFE 采用您要执行的函数名称数组。然后迭代该数组以从内部调用函数。
-
如果你不想在脚本加载时执行
Players.walkForwardForNSeconds(7),那为什么会出现呢? 什么时候你想让它执行呢? -
我正在使用 google blockly ,所以当我拖动一个块时,代码会自动生成,孩子也可以这样做,所以我想避免这种情况
-
这个信息应该在问题中。目前在您的问题中没有说明此代码实际上是 注入 到文档中并来自其他地方(块状)。为了正确理解问题,这似乎是关键信息......
-
好的,我会补充的
标签: javascript reactjs algorithm performance dom