如何从 eval() 获得 console.log 输出?
How to get console.log output from eval()?
我正在使用 eval()
到 运行 来自字符串的脚本。下面是代码:
eval('console.log("hello")');
我将从控制台输出中得到 hello
。我想知道是否可以将 hello
保存到当前上下文中的变量中。所以我正在寻找这样的东西:
const output = eval('console.log("hello")');
// 我希望控制台输出从 eval()
函数返回。
但我收到 undefined
回复。我有办法做到这一点吗?
这是不可能的,因为 console.log()
只有 return 未定义,但是您可以创建一个函数来 return 一些东西。
示例:
console.oldLog = console.log;
console.log = function(value)
{
console.oldLog(value);
return value;
};
const output = eval('console.log("hello")');
希望这会有所帮助。
我正在使用 eval()
到 运行 来自字符串的脚本。下面是代码:
eval('console.log("hello")');
我将从控制台输出中得到 hello
。我想知道是否可以将 hello
保存到当前上下文中的变量中。所以我正在寻找这样的东西:
const output = eval('console.log("hello")');
// 我希望控制台输出从 eval()
函数返回。
但我收到 undefined
回复。我有办法做到这一点吗?
这是不可能的,因为 console.log()
只有 return 未定义,但是您可以创建一个函数来 return 一些东西。
示例:
console.oldLog = console.log;
console.log = function(value)
{
console.oldLog(value);
return value;
};
const output = eval('console.log("hello")');
希望这会有所帮助。