Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 制作一个基本函数失败了_Javascript_Function - Fatal编程技术网

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 + ")";