Подтвердить что ты не робот

Кэшированный объект в консоли?

Я начну с проблемы:

  • Я изменяю содержимое литерала объекта. (изменение значений свойств)
  • Консоль Firebug (при первых щелчках) показывает правильные значения.
  • Но через некоторое время он застрянет на определенном значении и перестанет меняться.

(уведомление: представление stringify объекта - всегда показывает правильные значения)

И вот подробности:

  • Я выбираю street в textbox (он должен установить значение StreetText в объекте)

  • Я смотрю console (широкая строка) и нажимаю последнюю строку, глядя на текст улицы.

Сначала это ОК. Во второй попытке, после выбора другой улицы, она остается прежней.

Однако, когда я нажимаю refresh (на объекте), он показывает мне правильное название улицы.

Что здесь происходит?

enter image description here

Мой объект - это обычный литерал объекта:

  var obj =
            {
                getData: function ()
                {

                    obj.CountryId = $(".ddlCountry").val() || "";
                    obj.CountryText = $(".ddlCountry  :selected").text() || "";
                    obj.StateId = $(".ddlState:visible").val() || "";
                    obj.StateText = $(".ddlState:visible  :selected").text() || "";
                    obj.CityId = $(".hfDataIdCity").val() || "";
                    obj.CityText = $(".hfDataTextCity").val() || "";
                    obj.StreetId = $(".hfDataIdStreet").val() || "";
                    obj.StreetText = $(".hfDataTextStreet").val() || "";
                }
        }

и отображение на консоли производится путем нажатия кнопки:

 obj.getData();
 console.log(obj);

Почему я не вижу правильных значений? (только после обновления....)

p.s.: ff: 14.0.1
фб: 1.10.6

и кеш отключен

enter image description here

4b9b3361

Ответ 1

Используйте console.dir(obj) для объектов, а не console.log(obj), вы получаете строку объекта, делая это так, чтобы обновление было по-прежнему работать в вашем коде, но не отображалось в консоли. Строки неизменяемы, поэтому обновление свойств не появится на вашей консоли. Совет. Используйте выражения часов в хром-отладчике.