在JavaScript代码中获取最后一条语句的结果

时间:2014-07-17 20:52:24

标签: javascript node.js

Given是一个包含JavaScript代码的文件。例如:

1 + 1;
3 + 3;

我想接收最后一个表达式的值(在这种情况下为6)。

这可以通过

实现
node --print "1 + 1; 3 + 3;"

但我无法将代码作为字符串传递,因为代码可能包含与引号围绕代码冲突的引号(例如node -p“1 + 1; aFunction(”string“)” )。

不幸的是,node的--print参数无法处理文件。

另一种方法是修改源文件。我可以使用eval-Function,它具有eval(“1 + 1; 3 + 3”)返回的所需行为。不幸的是,我遇到与引号相同的冲突。

我希望我能说清楚。我期待着你的回答。

1 个答案:

答案 0 :(得分:2)

如果您使用的是Linux,也许是MacOS,也许是Windows / Cygwin,您可以将代码放入文件中,然后尝试:

node -p < thefile.js