javascript - 控制台中的缓存对象?

标签 javascript jquery firefox firebug

我将从问题开始:

  1. 我正在更改对象字面量的内容。 (更改属性值)
  2. Firebug 控制台(在第一次点击时)显示正确 值。
  3. 但过了一段时间后,它会卡在一个特定的值上而停止更改。

(注意:对象的 stringify 表示 - 始终显示正确的值)

详细信息如下:

  1. 我在 textbox 中选择了一个 street(它应该在对象中设置 StreetText 值)

  2. 我查看控制台(宽行)并按下最后一行,查看街道文本

一开始没问题。第二次尝试,在我选择另一条街道后,它保持在旧值。

但是,当我(在对象上)按下刷新时,它会显示正确的街道名称。

这是怎么回事?

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);

为什么我看不到正确的值? (仅在刷新后......)

附注: ff: 14.0.1
fb:1.10.6

缓存关闭

enter image description here

最佳答案

对对象使用 console.dir(obj) 而不是 console.log(obj),您通过这样做获得对象的字符串,因此更新它仍然可以在您的代码中工作,但不会显示在控制台中。字符串是不可变的,因此您的控制台中不会显示任何属性更新。提示:在 chrome 调试器中使用 watch 表达式。

关于javascript - 控制台中的缓存对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14689084/

相关文章:

javascript - 如何在backbone.js事件委托(delegate)中使用 "hashchange"事件?

javascript - 全部折叠并默认打开第一个 Accordion

javascript - 防止 Firefox 打开被阻止的弹出窗口

javascript - toFixed() 函数背后的规则是什么

javascript - 优化嵌套 For 循环

javascript - jquery 在 body 更换时播放声音

jquery - 不透明度在浏览器中变得透明

firefox - 如何使用 iMacros 循环进行第 2 步?如何选择每隔一个href?

javascript - Three.js 从场景中更改网格

jquery - highcharts highstock 问题与标志位置