When 2+2=5 in Javascript

by podlipensky

JavaScript

var a = 2, b = 2; // or use Number(2)

Number.prototype.valueOf = function(){
    return 2.5;
};

function convert() {
    return this;
}
a = convert.call(a);
b = convert.call(b);

function sum(a, b) {
    document.write(a+b);
}

sum(a, b);