草庐IT

eval_derivative

全部标签

javascript - 是否有任何非 eval 方法来创建具有运行时确定名称的函数?

有没有办法用创建一个函数?真实姓名这是在运行时确定的,不使用eval,并且只使用纯JavaScript?(因此,没有生成script元素,因为这些元素是特定于浏览器环境的[并且在很多方面都是eval伪装的];不使用某个特定JavaScript引擎的非标准功能等)请注意,我并不是特别询问由具有名称的变量或属性引用的匿名函数,例如://NOTthisvarname=/*...comeupwiththename...*/;varobj={};obj[name]=function(){/*...*/};在那里,虽然对象属性有名称,但函数没有。匿名函数适用于很多事情,但不是我在这里寻找的。我希望

javascript - 在javascript中计算字符串值,而不是使用eval

有没有一种方法可以在不使用eval()的情况下计算存储在JavaScript中的字符串中的公式?通常我会做类似的事情varapa="12/5*9+9.4*2";console.log(eval(apa));那么,有人知道eval()的替代方案吗? 最佳答案 嗯,你可以使用Function()构造函数:functionevil(fn){returnnewFunction('return'+fn)();}console.log(evil('12/5*9+9.4*2'));//=>40.4 关

javascript - 在 JavaScript 中使用 eval() 的主要好处是什么?

我知道这可能是一个新手问题,但我很好奇eval()的主要好处-它最好用在什么地方?我很感激任何信息。 最佳答案 最好使用eval函数:从不。它的目的是评估一个字符串作为Javascript表达式。示例:eval('x=42');它以前用过很多次,因为很多人不知道如何为他们想做的事情编写正确的代码。例如,当为字段使用动态名称时:eval('document.frm.'+frmName).value=text;正确的做法是:document.frm[frmName].value=text;由于eval方法将字符串作为代码执行,因此每次使

javascript - 严格模式下的间接 eval 调用

我了解eval()在非严格上下文中的工作方式,但是在严格模式下使用eval()的情况让我完全困惑。当在全局范围内直接调用eval()时,变量将保留在新的eval()范围内:'usestrict';eval('vara=1;');console.log(a);//ReferenceError:aisnotdefined但是,如果我在全局范围内执行对eval()的间接调用(应该是同一件事,对吧?),它的行为就像是不是严格模式(如果你不相信我,请参阅thisJSFiddle):'usestrict';(0,eval)('vara=1;');//indirectcalltoevalconsol

javascript - eval() 和 new Function() 是一回事吗?

这两个函数在幕后做同样的事情吗?(在单语句函数中)varevaluate=function(string){returneval('('+string+')');}varfunc=function(string){return(newFunction('return('+string+')')());}console.log(evaluate('2+1'));console.log(func('2+1')); 最佳答案 不,它们不相同。eval()在当前执行范围内将字符串评估为JavaScript表达式,并且可以访问局部变量。new

debugging - Visual Studio Code - 找不到方法 RPCServer.Eval

在VisualStudioCode中调试GoLang时,一旦遇到断点,在提示符(底部)中键入任何内容(例如“help”)将返回以下错误消息。想知道是否是配置问题?帮助无法使用2018/06/0610:31:57server.go:266:rpc:找不到方法RPCServer.Eval 最佳答案 我遇到了同样的问题,为了解决这个问题,我在launch.json文件中添加了以下内容:useAPIv1:false在linux上似乎是关键敏感的。看看我在其中找到信息的帖子:https://github.com/Microsoft/vscod

go - 评估/执行 Golang 代码/表达式,如 js 的 eval()

golang上有类似eval()的方法吗?评估/执行JavaScript代码/表达式:varx=10;vary=20;vara=eval("x*y")+"";varb=eval("2+2")+"";varc=eval("x+17")+"";varres=a+b+c;res的结果将是:200427这在golang中可行吗?为什么? 最佳答案 完全有可能。至少对于表达式,这似乎是你想要的:看看:https://golang.org/src/go/types/eval.gohttps://golang.org/src/go/constan

linux - Bash:反引号和 eval 混淆行为

有人可以解释第二个结果吗?user$set55user$n=2user$evalecho\$$n5user$echo`evalecho\$$n`10268n10268是bashpid。GNUbash,版本4.0.35(0)-release(i386-portbld-freebsd7.2)UPD:这很好用:user$echo`evalecho\\$$n`5但是……user$echo`evalecho\\\$$n`#35user$echo`evalecho\\\\$$n`#410268nuser$echo`evalecho\\\\\$$n`#510268nuser$echo`evalech

javascript - Mongo --quiet 不抑制 --eval 输出

我正在编写这个脚本,它接受t并在test.js中使用它。我将把输出通过电子邮件发送给我和我的同事。%mongomy_db--eval't=9999;'--quiettest.js9999------------------------------------------------Infoaboutstuffgoingback9999daysto2012-08-17.------------------------------------------------Stuffx:433321(12.43%)Stuffy:2723426(81.57%)Total:4524524524有没有办

javascript - Mongo --quiet 不抑制 --eval 输出

我正在编写这个脚本,它接受t并在test.js中使用它。我将把输出通过电子邮件发送给我和我的同事。%mongomy_db--eval't=9999;'--quiettest.js9999------------------------------------------------Infoaboutstuffgoingback9999daysto2012-08-17.------------------------------------------------Stuffx:433321(12.43%)Stuffy:2723426(81.57%)Total:4524524524有没有办