var foo = {
toString: function() {
return 'foo';
},
valueOf: function() {
return 2;
}
};
alert( foo ); // строковое преобразование, вызывается toString
alert( foo + 1 ); // численное преобразование, вызывается valuOf
alert( foo + "3" ); // должно вызываться toString, ведь это строковое преобразование???
//Почему вызывается valuOf?