Roy*_*mir 12 javascript firefox jquery firebug
我将从问题开始:
(注意:stringify对象的表示 - 始终显示正确的值)
以下是详细信息:
我street在textbox(它应该设置StreetText对象中的值)中选择一个
我看着console(宽线)并按最后一行,看着街道文字.
起初没关系.在第二次尝试中,在我选择另一条街道之后,它保持旧价值.
但是,当我按下刷新(在对象上)时,它会显示正确的街道名称.
这里发生了什么?

我的对象是常规对象文字:
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() || "";
}
}
Run Code Online (Sandbox Code Playgroud)
并通过点击按钮在控制台上显示:
obj.getData();
console.log(obj);
Run Code Online (Sandbox Code Playgroud)
为什么我没有看到正确的值?(仅在刷新后....)
ps:ff:14.0.1
fb:1.10.6
并关闭缓存

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