Javascript 制作一个基本函数失败了
好的,谢谢你给我的帮助。愚蠢的拼写错误。 我试图重写代码,但仍然不起作用 这是我的完美代码:Javascript 制作一个基本函数失败了,javascript,function,Javascript,Function,好的,谢谢你给我的帮助。愚蠢的拼写错误。 我试图重写代码,但仍然不起作用 这是我的完美代码: if (obj != "finished") { var cmd = "finished = ("+obj+"== target3)"; ggbApplet.debug(cmd); ggbApplet.setErrorDialogsActive(false); ggbApplet.evalCommand(cmd); finished = ggbApplet.getValueString("f
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是在代码中其他地方定义的东西。但我不认为这会引起问题,因为在我尝试将其作为函数编写之前,一切都是完美的。非常感谢您的进一步帮助。您有两种不同的拼写:
function checpoint()
及
另外,obj
是全局变量吗?我看不到它在哪里定义或传递给函数
此外,您应该在浏览器错误控制台中查看报告的错误。这是当事情不起作用时,您应该首先查看的地方,因为它会告诉您未定义的变量、引发的异常等。函数定义得很好,只是名称中可能存在拼写错误,但参数的使用是不正确的。您将
目标
和步骤
作为参数
传递,但不使用这些变量,而是使用字符串
ggbApplet.setVisible("step",true);
应该是
ggbApplet.setVisible(step, true);
及
应该是:
var cmd = "finished = ("+obj+"== " + target + ")";
通过这种方式,您可以传入目标和步骤的字符串,它们的计算应该正确
作用域和全局变量可能还有其他问题,但无法从这段小代码中分辨出来。请在您说“它不起作用”时添加详细信息。发生了什么?可能是函数中的“checpoint”和“checkpoint”,您没有声明
obj
。如果这是您要使用的函数之外的对象,请将其传入。您认为参数列表中的步骤
与函数体中的步骤
之间的关系如何?谢谢您的帮助,但它仍然无法工作。如果你有时间看看我的新代码,我会非常感激!我已经编辑了这个问题。另一个问题是,在调用函数时,需要将参数作为字符串传递。尝试:检查点(“target3”、“step3”);哦,我的天啊,它起作用了,非常感谢你!好吧,这可能有点太多了:P但我真的很感谢你的帮助,花几个小时在这上面
var cmd = "finished = ("+obj+"== target)";
var cmd = "finished = ("+obj+"== " + target + ")";