【发布时间】:2018-07-27 01:14:41
【问题描述】:
我有一个带有 eval 函数的函数,它可以很好地使用预期的“值”评估字符串中定义的函数,但不明白为什么引号之间的变量“值”被评估为函数的参数而不是字符串 = 值。
function evaluateString(value) {
var funcString = "function validate(input){ return input === \"999999\"; }";
if (eval("(" + funcString + ")("+'value'+")")){
return true;
}else{
return false
}
}
我试过了,但它总是返回 false。
eval(`(${funcString})('value')`);
还有这个(不带引号)
eval(`(${funcString})(value)`);
【问题讨论】:
标签: javascript ecmascript-6 refactoring eval