javascript - 制作基本功能失败

标签 javascript function

好的,感谢您已经提供的帮助。愚蠢的拼写错误。 我尝试重写代码,但还是不行。

这是我的代码,运行完美:

if (obj != "finished") {
 var cmd = "finished = ("+obj+"== target3)";
 ggbApplet.debug(cmd); 
 ggbApplet.setErrorDialogsActive(false);
 ggbApplet.evalCommand(cmd);
 finished = ggbApplet.getValueString("finished");
 if (finished.indexOf("true") > -1) {
   ggbApplet.setVisible("step3",true);
 }
}

如果我替换这个代码,它就不再起作用了。

function checkpoint(target,step){
if (obj != "finished") {
 var cmd = "finished = ("+obj+"== "+target+")";
 ggbApplet.debug(cmd); 
 ggbApplet.setErrorDialogsActive(false);
 ggbApplet.evalCommand(cmd);
 finished = ggbApplet.getValueString("finished");
 if (finished.indexOf("true") > -1) {
   ggbApplet.setVisible(step,true);
 }
}
}

checkpoint(target3,step3);

我真的不明白我做错了什么。 obj 是在代码中其他地方定义的东西。但我不认为这会引起问题,因为在我尝试将其编写为函数之前,一切都很完美。非常感谢任何进一步的帮助。

最佳答案

除了名称中可能存在拼写错误之外,该函数定义良好,但参数的使用不正确。您将 targetstep 作为 parameters 传递,但随后不使用这些变量,而是使用 strings

ggbApplet.setVisible("step",true);

应该是

ggbApplet.setVisible(step, true);

var cmd = "finished = ("+obj+"== target)";

应该是:

var cmd = "finished = ("+obj+"== " + target + ")";

这样您就可以传入目标和步骤的字符串,它们应该正确评估。

范围和全局变量可能存在其他问题,但无法从这一小段代码中看出。

关于javascript - 制作基本功能失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16289973/

相关文章:

javascript - 根据类名对表行进行分组

javascript - 使用动态数量的参数创建函数

javascript - Extjs 4 : Create an iFrame Window

c# - 在文本框中添加数字

javascript - 在 For 循环中使用 Math.max() 时出现问题

javascript - Vue.JS、React 或 Angular 是跨平台的吗?

javascript - 更改 div 功能的大小不起作用

postgresql - 函数错误 – postgresql

ios - 从单 View 应用程序 (objective-c) 调用以函数作为 Cocoa Touch Framework (swift) 参数的方法

php - onclick leads function leads increment 重置页面,value + 1