【问题标题】:How to sum two different functions in javascript [duplicate]如何在javascript中总结两个不同的函数[重复]
【发布时间】:2024-05-01 15:25:02
【问题描述】:

我有不同的函数返回值;所以我创建了不同的函数来对这两个值求和。

function result(){
    var result = firstFunct() + secondFunct();
    alert(result);
    return result;
}

它给了我一个类似两个字符串联合的结果:1010 而不是 20。我需要什么样的运算符才能同时使用两个和?

【问题讨论】:

  • 确保从这些函数返回数字,而不是字符串,并且不要返回 alert() 函数,而是返回结果。
  • 另请注意,如果有一个与函数同名的变量 (result) 会令人困惑。

标签: javascript function


【解决方案1】:

这很可能是因为您的函数返回的是字符串而不是数字数据类型。您将需要转换函数的输出

var result = Number(firstFunct()) + Number(secondFunct());

注意,也可以使用+ 运算符以更短的方式转换为数字:

var result = (+firstFunct()) + (+secondFunct());

【讨论】:

  • 谢谢,它有效...我一直怀疑它是一个字符串。再次感谢!
  • @MrVitaminasG - 你能接受这个答案吗?
  • 我在等倒计时投票。系统没有立即投票
【解决方案2】:

要转换为数字,您也可以这样做:

var num = 1 * numericstring;

【讨论】:

  • 好吧,+numericString 可能更可取。
  • 这可能被误认为是串联。
  • 被谁虐待,以什么方式?一元加号只有一个含义,根据文档,“一元加号运算符在其操作数之前并计算其操作数但尝试将其转换为数字,如果它还没有的话。”
  • 我的意思是像a + (+b) 甚至a++b 这样的句法结构都很丑陋并且容易出错。这些不能像1*a + 1*b 那样简单明了地用在表达式中。