Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.08.2012, 14:48
Интересующийся
Отправить личное сообщение для stp008 Посмотреть профиль Найти все сообщения от stp008
 
Регистрация: 29.05.2012
Сообщений: 10

Почему false?
функция readvalues создает свойства объекта calculator и присваивает им значение. почему при проверке выдает 0?

var calculator = {
  sum: function() {
    return this.a + this.b;
  },

  mul: function() {
    return this.a * this.b;
  },

  readValues: function() {
    this.a = 90;
    this.b = 30;
  }
};

alert( "a" in calculator );
Ответить с цитированием
  #2 (permalink)  
Старый 06.08.2012, 14:51
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

потому что изначально a и b не определены
Ответить с цитированием
  #3 (permalink)  
Старый 06.08.2012, 14:51
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

var calculator = {
  a: 0, 
  b: 0,
  sum: function() {
    return this.a + this.b;
  },

  mul: function() {
    return this.a * this.b;
  },

  readValues: function() {
    this.a = 90;
    this.b = 30;
  }
};

alert( "a" in calculator );
Ответить с цитированием
  #4 (permalink)  
Старый 06.08.2012, 14:52
Интересующийся
Отправить личное сообщение для stp008 Посмотреть профиль Найти все сообщения от stp008
 
Регистрация: 29.05.2012
Сообщений: 10

спасибо большое за ответы.
var calculator = {
  
  readValues: function() {
    this.a = "90";
    this.b = "30";
  },
  
  sum: function() {
    return this.a + this.b;
  },

  mul: function() {
    return this.a * this.b;
  }

  
};
  
  
calculator.readValues();
alert( "a" in calculator );
Ответить с цитированием
  #5 (permalink)  
Старый 06.08.2012, 17:32
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

var calculator = {
  
  readValues: function() {
    this.a = "90";
    this.b = "30";
  },
  
  sum: function() {
    return this.a + this.b;
  },

  mul: function() {
    return this.a * this.b;
  }

  
};
  
  
calculator.readValues();
alert( calculator.hasOwnProperty("a") );
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глюк firebug'а trikadin Оффтопик 23 16.01.2012 14:04
Ресайз элементов, как?код есть но не работает Александр х@к Элементы интерфейса 4 03.09.2011 17:00
Ресайз элемента, div-блока Magneto Элементы интерфейса 1 01.09.2011 01:15
Функция не возвращает false, почему? Vitaly jQuery 3 05.07.2009 16:05
Почему не загружается скрипт? prog90 Я не знаю javascript 14 11.06.2009 11:52