gpt4 book ai didi

javascript - 为什么 Javascript 对象与其单独的属性不同?

转载 作者:行者123 更新时间:2023-11-30 11:17:49 26 4
gpt4 key购买 nike

我有一个 JS 对象,其中有一个名为值的属性。经过某种操作后,我正在更新对象的值属性。现在我面临如下奇怪的行为。

我的代码是这样的;

console.log(root.formElements[key][i]);             <-------- Line 1
console.log(root.formElements[key][i]["value"]); <-------- Line 2

一行一行的代码,一字排开。

现在在 chrome 控制台中我得到如下结果;

1号线

    {name: "campaignStartDate", label: "Campaign Start Date", type: "date", mandatory: "yes", icon: "event_note", …}
class:"s4"
classField:"startDate"
icon:"event_note"
label:"Campaign Start Date"
mandatory:"yes"
name:"campaignStartDate"
newrow:"yes"
type:"date"
value:""

2号线

01/04/2018

所以问题是,当我打印对象时,值是空的,但在下一行,如果我单独打印,我会得到值怎么可能?

代码片段;

for (var key in root.formElements) {

for(var i=0;i<root.formElements[key].length;i++)
{
root.formElements[key][i]["value"] = data[root.formElements[key][i]["classField"]];

if(root.formElements[key][i]["name"] == "campaignStartDate")
{
console.log(root.formElements[key][i]);
console.log(root.formElements[key][i]["value"]);
}
}

仅供引用,我在开发 Angular 4 应用程序时遇到了这个问题。在我的应用程序中,当我期待那里的日期字符串时,我也得到了对象的值属性为空。

任何帮助对我来说都是非常好的。如果需要更多数据,请告诉我。

提前致谢。

最佳答案

将鼠标悬停在 chrome 控制台中的蓝色小 i 图标上,您将看到一个工具提示,解释此行为。当您单击向下旋转三 Angular 形时,正在评估该变量。索引“value”处的对象的值在您最初使用 console.log 和您停止并检查这些值之间发生变化。

参见:Chrome js debug - two different values at the same time

编辑:具体来说,当您在控制台中单击对象和数组时,它们会被评估。字符串(和其他原语)在 console.logged 时被评估。

关于javascript - 为什么 Javascript 对象与其单独的属性不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50897332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com