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, время: 23:56. |