我正在为学生(第二语言使用者,9岁至12岁)转换教程以在离线/内联网环境中访问。因此,我希望他们使用的网站不可用。替代DOM操作中的eval()
我想模仿为JavaScript/HTML5 Canvas提供帮助的“改变代码”风格的教程。
这工作:
<canvas id="myCanvas" height="400px" width="400px"></canvas>
<script>
function update(){
eval(document.getElementById('demoScript').value);
}
var ctx = document.getElementById("myCanvas").getContext("2d");
</script>
<textarea id="demoScript">
ctx.fillRect(100,100,50,50);
</textarea>
<input type="button" value="update" onClick="update()">
...但我读到的一切说的eval()是一个坏主意。
我可以得到textarea内容弹出在一个div如果我想,但我不能让它在任何地方的脚本弹出...离开我只是eval()。
备选方案的选项和建议请... ...或者这是好的吗?
不相信一切你读,尤其是过度概括。 – dandavis
* eval *的**使用**几乎总是不好。 * eval *本身只是一种语言功能,可用于优点或滥用。 – RobG