【问题标题】:Javascript Adding Objects with + [duplicate]Javascript使用+添加对象[重复]
【发布时间】:2012-08-27 17:59:26
【问题描述】:

可能重复:
Overloading Arithmetic Operators in JavaScript?

是否可以以自定义方式添加 Javascript 对象? Javascript 允许您使用+ 符号将Strings 合并在一起以及将Numbers 添加在一起。

我想知道您是否可以为要合并的事物定义新的方法,例如添加数组。 我正在寻找的是这样的:

var output = [0,1,2] + [3,4,5];
console.log(output);
//I want this to log [3,5,7]

我知道我可以使用 addArray() 函数轻松完成此操作,但我想知道是否可以使用 + 符号来完成。

【问题讨论】:

  • 哇,我不敢相信我是这样写的。
  • 这种事情在函数式语言或数学包中更为常见,而 Javascript 两者都不是。在这种情况下,对于命令式语言,我认为+ 的预期行为是数组连接。
  • I was wondering if it can be done by using the + symbol 好像你已经在控制台中运行了这个,所以你可能已经有了问题的答案,不是吗?

标签: javascript arrays


【解决方案1】:

不,Javascript 不支持运算符重载,并且没有内置功能可以做到这一点。

【讨论】:

    【解决方案2】:

    是否可以以自定义方式添加 Javascript 对象?

    是的,你可以编写自己的addObject函数。

    Javascript 允许您使用 + 符号来 [连接] 字符串以及将数字相加。

    ECMA-262 定义在表达式中是否将“+”标点符号视为unaryaddition 运算符。正如马特所说,你不能超载它。即使可以,改变它的行为似乎也不是一个好主意,因为它已经用于 3 种不同的东西,并且具有“添加”数组的指定行为,如 [1,2] + [3,4]

    【讨论】:

      猜你喜欢
      • 2015-09-18
      • 2020-07-13
      • 1970-01-01
      • 2021-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-06
      相关资源
      最近更新 更多