Javascript 防止评估';ed语句返回其RHS返回值

Javascript 防止评估';ed语句返回其RHS返回值,javascript,eval,Javascript,Eval,我将eval调用的值返回到保存为输出的变量。但是我不希望testFn()的输出成为eval调用的输出 在非eval调用中,不会生成任何输出,但eval会执行某些操作,使其也会吐出最后一个表达式或语句。我试着把它们分配给变量,但那不起作用。它仍然返回eval输出的0.5值,如下所示 const val=eval( ` 函数累加器(总和){ 返回函数(n){ 返回和+=n; }; } const testFn=累加器(3)的类型==‘功能’和累加器(3); if(testFn){ 让dumpRet

我将eval调用的值返回到保存为输出的变量。但是我不希望
testFn()的输出成为eval调用的输出

在非eval调用中,不会生成任何输出,但
eval
会执行某些操作,使其也会吐出最后一个表达式或语句。我试着把它们分配给变量,但那不起作用。它仍然返回eval输出的
0.5
值,如下所示

const val=eval(
`
函数累加器(总和){
返回函数(n){
返回和+=n;
};
}
const testFn=累加器(3)的类型==‘功能’和累加器(3);
if(testFn){
让dumpReturn=testFn(-4);
dumpReturn=testFn(1.5);
}
`
);

文件写入(val)
你能把它包装成
eval
吗,这样就可以运行它并了解你的意思了?你说的“使输出静音”是什么意思?Javascript代码本身不会生成输出,仅当它调用生成输出、修改DOM等的函数时。如果不将返回值赋给变量或将其作为参数传递给另一个函数,它会像您希望的那样变为空。是否从浏览器控制台调用该函数?这是一个read-eval-print循环,所以它打印返回值。但这与在程序中使用代码时发生的情况无关。谢谢您的输入。让我试着用一个片段更新我的问题,这样它就容易被观察到。给我一秒钟。你能用
eval
把它包装起来,这样就可以运行它,看看你的意思吗?你说的“使输出静音”是什么意思?Javascript代码本身不会生成输出,仅当它调用生成输出、修改DOM等的函数时。如果不将返回值赋给变量或将其作为参数传递给另一个函数,它会像您希望的那样变为空。是否从浏览器控制台调用该函数?这是一个read-eval-print循环,所以它打印返回值。但这与在程序中使用代码时发生的情况无关。谢谢您的输入。让我试着用一个片段更新我的问题,这样它就容易被观察到。给我一秒钟。