将变量传递给 Function()

Pass variables to Function()

我希望使用 Function javascript 功能而不是“eval”,以实现在过滤输入字段中使用比较运算符的能力。

function test(){
 let x = 5, y = 10, operator = '>';
 return Function("return x" + operator + "y")(x, y);
}

console.log(test());

上面的代码报错,x,y在函数中出现undefined。

那么如何将外部变量传递给函数?

函数体中引用的每个参数都应该是函数的前导参数,采用字符串格式。

function test(){
 let x = 5, y = 10;
 return Function('x', 'y', "return x>y")(x, y);
}

console.log(test());