gpt4 book ai didi

javascript - 无副作用函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:32:52 25 4
gpt4 key购买 nike

创建在线数学学习 Material ,我想让我网站的用户定义(数学)函数,根据定义,这些函数没有副作用。实现此目的的最简单方法是执行以下操作

// ... get string entered by user and store it in variable user_code
// now build function
var user_function = eval ("(function (x) { return (" + user_code + "); })");

如果用户输入 x*xuser_function 将包含一个计算其参数平方的函数。

现在这会打开我的页面以进行跨站点脚本和恶意代码。

除了自己编写表达式解析器之外,还有什么方法可以避免这种情况吗?换句话说,我希望允许在定义明确的上下文中执行函数,例如,函数无需访问全局变量。

最佳答案

好吧,已经有很多针对 javascript 的优秀表达式解析器,为什么要重新发明轮子呢?

我相信使用 math.js 这样的东西会更容易、更安全有一个内置的表达式解析器...

关于javascript - 无副作用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23139325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com