我想设计一个名为“JavaScript Code Drills”的网站,用户可以获得编码面试问题的提示,并可以编写经过有效性测试的解决方案。这将全部在前端完成。所以我不知何故需要从像
这样的东西<script>
var f;
</script>
<div class="prompt">
<p>Write the body of a function whose one parameter is an array and returns the maximum element of the array (If the array is empty, return undefined).</p>
</div>
<div class="solution">
function ( arr )
{
var max = arr.length > 0 ? arr[0] : undefined;
for ( var i = 1; i < arr.length; ++i ) if ( arr[i] > max ) max = arr[i];
return max;
}
</div>
从中,以某种方式使变量f
等于#solution
的内容作为JS代码。这种转变是否可能?
答案 0 :(得分:1)
这有帮助吗?如果它不适合你,我会改进:)
为简单起见,我更改了HTML。有关eval()
功能的详细信息,请参阅http://www.w3schools.com/jsref/jsref_eval.asp。
window.addEventListener('load',function(){
var f = document.getElementById('solution').innerHTML;
eval(f);
});
&#13;
<div class="prompt">
<p>Write the body of a function whose one parameter is an array and returns the maximum element of the array (If the array is empty, return undefined).</p>
</div>
<div id="solution">
alert('testing');
</div>
&#13;