如何从eval()获取console.log输出?

时间:2017-09-26 03:36:17

标签: javascript console.log

我正在使用eval()从字符串运行脚本。以下是代码:

eval('console.log("hello")');

我将从控制台输出中获取hello。我想知道是否可以将hello保存到当前上下文中的变量中。所以我正在寻找这样的东西:

const output = eval('console.log("hello")'); //我希望控制台输出是从eval()函数返回的。

但我收到undefined回复。我有办法做到这一点吗?

1 个答案:

答案 0 :(得分:6)

这是不可能的,因为console.oldLog = console.log; console.log = function(value) { console.oldLog(value); return value; }; const output = eval('console.log("hello")'); 只返回undefined,但是你可以创建一个会返回一些东西的函数。

示例:

{{1}}

希望这会有所帮助。