我目前正在开发一个教程网站,用于教授 Web 开发的基础知识(HTML、CSS 和 JavaScript,对于初学者)。我想要一个可以深入涵盖各种主题的设置,然后提供一个基本的沙盒环境,用户可以在其中编写代码来解决每个教程部分末尾提出的问题。
例如,如果我在之前的教程中介绍了乘法,并且用户刚刚完成了有关能够返回值的函数的课程,我可能会要求他们提交一个返回两个参数乘积的函数。
这不是使用动态函数创建被认为是一个好主意的完美实例吗?让我们看一个例子。
<script>
function check()
{
eval('var f = ' + document.getElementById('user_code').value);
if (f(5, 10) == 50)
{
// user properly wrote a function which
// returned the product of its parameters
}
}
</script>
这是一个坏主意吗?如果是这样,请解释一下。