var obj = new Number(1); var pr1 = Number(obj); // неявный вызов valueOf var pr2 = obj.valueOf(); // явный alert([ typeof obj, // "object" typeof pr1, // "number" typeof pr2 // "number" ]); Riim, есть сомнения в существовании valueOf у объекта? :D
var foo = {
a: true,
b: true,
valueOf: function () {
return this.b + this.a;
}
};
alert(+foo);
|
Number не только вызывает valueOf, но приводит результат к числу:
var test = {
valueOf: function(){
return "9.1";
}
};
alert( Number(test) );
var test = {
valueOf: function(){
return "NotANumber";
}
};
alert( Number(test) );
|
monolithed, ну вроде что-то становится понятно, спасибо.
|
| Часовой пояс GMT +3, время: 17:10. |