javascript - JavaScript 编译器
问题描述
我试图从 textarea 编译 JS 代码并获取此代码的输出,我尝试使用eval()
,但没有得到完整的响应。如何从字符串编译 JS 代码并获得完整响应?(如 playcode.io)
解决方案
您可以尝试使用 Function 构造函数
但要小心 XSS 攻击
const code = 'Math.abs(-1)';
const result = new Function('', 'return (' + code + ')')();
console.log(result) // 1
您也可以使用第一个字符串通过参数传递参数
const code = 'Math.abs(someNumber)';
const runCode = new Function('someNumber', 'return (' + code + ')');
runCode(-1);
推荐阅读
- vb.net - VB.Net 使用属性名称(字符串)编辑对象属性
- graphql - 我们可以使用 Graph-ql java 客户端来查询休息吗
- c# - 如何使用带有动态字符串的实体框架 where 子句
- angular - 主题更改后更新标题上的值
- javascript - GraphQL:为构建模式提供的一种类型缺少名称
- java - 寻求帮助创建类似于 bluej 中自动大写的代码 [有一个答案,但需要进一步澄清]
- flutter - 检测 IgnorePointer 或 AbsorbPointer 内的某些小部件上的指针事件
- visual-studio-code - 如何在 VS Code 中执行包含括号 {} 的搜索
- optimization - scipy优化最小化函数的线搜索方法
- docker - Docker镜像挂载nexus的现有数据卷