有没有办法覆盖 JavaScript 中数学运算符(如 +-*/
)的行为?
假设我有一个 person 对象:
var Person = (function() {
function _Person(age) {
this.age = age;
}
/* I was hoping something like this would work
_Person.prototype.add = function(input) {
return this.age + input.age;
};*/
return _Person;
})();
我创建了两个人,并将他们加在一起以获得他们的总年龄:
var p1 = new Person(24);
var p2 = new Person(25);
var totalAge = p1+p2;//should equal 49
我希望能够实现原型(prototype)方法或其他方法来指定将两个对象添加在一起时要执行的操作。其他语言有这个,例如python有__add__
,javascript有办法做到这一点吗?
这是jsfiddle中的示例代码:http://jsfiddle.net/HYrPM/
最佳答案
JavaScript 没有运算符重载功能。
关于javascript - 对 JavaScript 对象执行数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5998837/