首先,我已经学了2-3个小时的JS了。我已经迷失方向了。现在是凌晨五点我参加了一次黑客大会,并试图将我的java应用程序编写成一个webapp。我有7个小时。任何帮助都将不胜感激。我也知道艾娃是个糟糕的主意。不过,这对我来说是最简单的事了。话虽如此:
为了清晰起见,编辑,所以本质上,我有一个小小的hangman风格的学习编码游戏:我有一个非常短的、没有错误的代码片段库。该程序在代码中引入bug(主要是遗漏),并显示错误代码。然后,播放机尝试更正代码,或者,如果他们选择,则编写不同的代码片段,以反映显示的错误代码的预期结果。他们将答案输入到文本区域,然后程序比较这两个代码段(buggy代码段和用户提供的代码段)的执行结果。如果输出匹配,则用户获胜。
会不会有一种方法来将结果与另一个包含另一个eval的变量进行比较?
如:
为了清晰起见,编辑下面的代码片段后面的逻辑是:
有一个变量,即结果,我试图使用它来引用在输入区域(game.input)中调用eval()值的结果(可能是错误的代码片段)。数组goodCode包含好的代码,即非buggy代码。我想对这两个代码片段(来自goodCode的代码片段和来自game.input的代码片段)调用eval(),并比较它们执行的输出。如果他们的执行是相同的,程序将输出成功的执行,以及一条“赢家”的信息。
goodCode = new Array("document.write('<b>Hello World</b>');")
var goodResult = eval(goodCode[0])
function executeJS()
{
var game = document.forms['game'];
var result = eval(game.input.value);
var answer = eval(goodCode[0]);
if (result === goodResult)
{
game.execute.value = result;
document.write("winner!")
}
}
<head>
<body>
<form name="game">
<textarea type=text name="input" rows="10" cols="30" value=""></textarea><br>
<input type="button" value="guess" onclick="executeJS();"
</form>
</body>
</head>我确信我的术语在我的解释中是不正确的。真对不起。任何帮助都将不胜感激。
发布于 2012-03-25 08:54:29
如果两个代码片段都返回一个值,则可以对它们进行比较。但是document.write()等并不返回任何有用的东西,您唯一能做的就是比较代码本身而不执行它。
https://stackoverflow.com/questions/9858882
复制相似问题