有没有办法将算术运算符存储在变量中,并在JavaScript计算中使用变量本身?
使用以下3个变量-我想用运算符变量设置的值计算两个数字。例如->num1*num2有没有办法将算术运算符存储在变量中,并在JavaScript计算中使用变量本身?,javascript,variables,operators,arithmetic-expressions,Javascript,Variables,Operators,Arithmetic Expressions,使用以下3个变量-我想用运算符变量设置的值计算两个数字。例如->num1*num2 const num1 = 10; const num2 = 4; const operator = `*`; //Could be any arithmetic operator 我知道这可以使用if或switch语句来完成,但我很想知道是否有一种方法可以在实际计算中使用操作变量本身,在更少的代码行中完成 我尝试了以下几件事(我最期待的是它们会变成这样): 那么,是有什么我还没有尝试过的方法可以让它工作,还是不
const num1 = 10;
const num2 = 4;
const operator = `*`; //Could be any arithmetic operator
我知道这可以使用if或switch语句来完成,但我很想知道是否有一种方法可以在实际计算中使用操作变量本身,在更少的代码行中完成
我尝试了以下几件事(我最期待的是它们会变成这样):
那么,是有什么我还没有尝试过的方法可以让它工作,还是不能这样做?你可以用想要的操作符获取一个对象,测试操作符是否存在,然后使用它
var运算符={
“+”:(a,b)=>a+b,
“-”:(a,b)=>a-b,
“*”:(a,b)=>a*b,
“/”:(a,b)=>a/b
},
计算=函数(val1、val2、符号){
if(登录操作员){
返回运算符[符号](val1,val2);
}
}
日志(计算(6,7,'*')代码>在JavaScript中没有直接的方法可以做到这一点。在类似Lisp的语言中,“运算符”是函数,因此您可以实现所尝试的功能。当然,您可以创建自己的函数集作为对象的属性。
console.log(num1 + operation + num2); //Outputs: "10*4"
console.log(num1, operation, num2); //Outputs: 10 "*" 4
console.log(`${num1} ${operation} ${num2}`); //Outputs: "10 * 4"
console.log(num1 operation num2); //Outputs: Error
const calculation = num1 operation num2; console.log(calculation); //Outputs: Error
console.log(1 + operation + 2); //Outputs: "1*2"
console.log(Number(1 + operation + 2)); //Outputs: NaN