Javascript 如何在js(谷歌应用程序脚本)中使用带Abs()的eval字符串公式
我看到有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(“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)}
当我要打印公式时,有字符串版本的公式。我将减少耦合,所以我将有一个简单的方法,从字符串计算公式。它帮我节省了它的维护时间。