首页 > 解决方案 > 如何将表达式传递给 JavaScript 函数

问题描述

我有 2 个类对象:let a, let b,每个对象都有一个键“值”。我希望能够创建第三个对象let c并计算它的“值”键,如下所示:c.value = a.value + b.value。这是问题:

let c当值a或更改时,我需要更改值blet c可能是具有关键“依赖关系”的不同类,我在其中传递方程的参数,然后传递一个c.value每次dependency.value更改时更新的函数。但我仍然应该能够传递诸如“+”、“-”、“*”等符号。

代码示例:

class Data{
    name: string;
    value: number;

  constructor(name, value){
      this.name = name;
      this.value = value;
  }

class Calc{
    name: string;
    value: number;
    dependencies: Array<object>;

  constructor(name, dep){
    this.name = name;
    this.dependencies = dep;
  }

let a = new Data('a', 10)
let b = new Data('a', 7)

let c = new Calc('c', [a, b])

而且我需要能够将完整的表达式传递给c.value = a.value - b.value * d.value对象,以使其灵活。

如何在 JavaScript 中完成?先感谢您。

标签: javascripttypescriptclassobjectparameter-passing

解决方案


我们可以通过以下方式将表达式作为参数传递给函数。

function calculation(expression){
 if(expression == '+'){
    var output = 40 + 50;
 }else if(expression == '-'){
    var output = 40 - 50;
 }
 console.log(output);
}
calculation('+');

推荐阅读