Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在js(谷歌应用程序脚本)中使用带Abs()的eval字符串公式_Javascript_Math_Google Apps Script_Eval - Fatal编程技术网

Javascript 如何在js(谷歌应用程序脚本)中使用带Abs()的eval字符串公式

Javascript 如何在js(谷歌应用程序脚本)中使用带Abs()的eval字符串公式,javascript,math,google-apps-script,eval,Javascript,Math,Google Apps Script,Eval,我看到有eval()来计算字符串公式 当我执行eval(“546+613-(30644-30600)-(789+834-(30665-30600))时,它会起作用 但它在评估时失败(“546+613-ABS(30644-30600)-(789+834-ABS(30665-30600)) 所以,我想问一下eval是否支持abs()?有没有简单的方法来计算失败的案例 或者,我必须Math.abs(),然后逐段计算 非常感谢!我不熟悉JS的计算世界 使用eval在安全性方面通常是一个非常糟糕的主意(因

我看到有eval()来计算字符串公式

当我执行
eval(“546+613-(30644-30600)-(789+834-(30665-30600))时,它会起作用

但它在评估时失败(“546+613-ABS(30644-30600)-(789+834-ABS(30665-30600))

所以,我想问一下eval是否支持
abs()
?有没有简单的方法来计算失败的案例

或者,我必须
Math.abs()
,然后逐段计算


非常感谢!我不熟悉JS的计算世界

使用
eval
在安全性方面通常是一个非常糟糕的主意(因为它运行的是任意代码,而不仅仅是一个算术表达式),但是如果您想使用它,那么首先
“ABS”
“Math.ABS”有什么问题调用
eval
之前在字符串中输入

使用
eval
通常在安全性方面是一个非常糟糕的主意(因为它确实运行任意代码,而不仅仅是一个算术表达式),但是如果您想使用它,首先
的“Math.ABS”有什么问题
在调用
eval
之前的字符串中?

您不需要
eval
来执行所需操作
function test(){var a;a=546+613-Math.abs(30644-30600)-(789+834-Math.abs(30665-30600));Logger.log(a)}
当我要打印公式时,有字符串版本的公式。我将减少耦合,所以我将有一个简单的方法,从字符串计算公式。它帮我节省了它的维护时间。你不需要
eval
来做你想做的事
function test(){var a;a=546+613-Math.abs(30644-30600)-(789+834-Math.abs(30665-30600));Logger.log(a)}
当我要打印公式时,有字符串版本的公式。我将减少耦合,所以我将有一个简单的方法,从字符串计算公式。它帮我节省了它的维护时间。