首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较javascript中的两个eval()对象

比较javascript中的两个eval()对象
EN

Stack Overflow用户
提问于 2012-03-25 08:42:49
回答 1查看 276关注 0票数 0

首先,我已经学了2-3个小时的JS了。我已经迷失方向了。现在是凌晨五点我参加了一次黑客大会,并试图将我的java应用程序编写成一个webapp。我有7个小时。任何帮助都将不胜感激。我也知道艾娃是个糟糕的主意。不过,这对我来说是最简单的事了。话虽如此:

为了清晰起见,编辑,所以本质上,我有一个小小的hangman风格的学习编码游戏:我有一个非常短的、没有错误的代码片段库。该程序在代码中引入bug(主要是遗漏),并显示错误代码。然后,播放机尝试更正代码,或者,如果他们选择,则编写不同的代码片段,以反映显示的错误代码的预期结果。他们将答案输入到文本区域,然后程序比较这两个代码段(buggy代码段和用户提供的代码段)的执行结果。如果输出匹配,则用户获胜。

会不会有一种方法来将结果与另一个包含另一个eval的变量进行比较?

如:

为了清晰起见,编辑下面的代码片段后面的逻辑是:

有一个变量,即结果,我试图使用它来引用在输入区域(game.input)中调用eval()值的结果(可能是错误的代码片段)。数组goodCode包含好的代码,即非buggy代码。我想对这两个代码片段(来自goodCode的代码片段和来自game.input的代码片段)调用eval(),并比较它们执行的输出。如果他们的执行是相同的,程序将输出成功的执行,以及一条“赢家”的信息。

代码语言:javascript
复制
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>

我确信我的术语在我的解释中是不正确的。真对不起。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-25 08:54:29

如果两个代码片段都返回一个值,则可以对它们进行比较。但是document.write()等并不返回任何有用的东西,您唯一能做的就是比较代码本身而不执行它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9858882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档