我是JavaScript的新手,想要编写能为给定函数生成一系列数据的代码。例如,如果用户输入y = x + 2
等规则,我希望有一个表格,y
等于x
时显示1
的值 - { {1}}。
无论如何我能做到吗?
答案 0 :(得分:0)
使用eval:http://www.w3schools.com/jsref/jsref_eval.asp
// Remove variable "y = " to get just the expression
var userExpression = str.replace(/y\s*=\s*/i, document.getElementById('textbox_id').value);
for (var i = 1; i < 11; i++) {
var x = i;
var y = eval(userExpression);
console.log("x: " + x + "\t y: " + y);
}
<强> 修改 强>
如果您在同一浏览器中的同一页面上运行它,那就是这样。如果您计划存储评估表达式,然后再进行评估 对于其他用户和浏览器会话,这可以轻松打开安全漏洞。因此,您需要小心计划如何使用它。