Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 29.05.2011, 10:47
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

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 у объекта?
var foo = {
  a: true,
  b: true,
  valueOf: function () {
      return this.b + this.a;
  }
};

alert(+foo);

Последний раз редактировалось monolithed, 29.05.2011 в 11:09.
Ответить с цитированием
  #12 (permalink)  
Старый 29.05.2011, 12:40
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Number не только вызывает valueOf, но приводит результат к числу:
var test = {
  valueOf: function(){
    return "9.1";
  }
};

alert( Number(test) );
var test = {
  valueOf: function(){
    return "NotANumber";
  }
};

alert( Number(test) );
Ответить с цитированием
  #13 (permalink)  
Старый 29.05.2011, 13:21
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

monolithed, ну вроде что-то становится понятно, спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов javascript из php без клика Darktj Firefox/Mozilla 11 01.07.2011 18:02
вызов стандартного окна "открыть" kiff86 Events/DOM/Window 22 29.04.2011 16:27
Явный вызов конструктора Tim Серверные языки и технологии 2 04.10.2009 23:28