Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript属性动态更新_Javascript - Fatal编程技术网

javascript属性动态更新

javascript属性动态更新,javascript,Javascript,我正在学习javascript,并尝试了几个基本示例。我发现一些奇怪的行为,并认为这个论坛将帮助我更好地理解解决方案 我创建了一个对象,如下所示: var school={ name:"purnapramati", location:"girinagar", 'state-name':"karnataka", proximity:true } 现在,我动态添加一个属性,如下所示: school.country="india"; 当打印学校对象时,我看到更新的country属性

我正在学习javascript,并尝试了几个基本示例。我发现一些奇怪的行为,并认为这个论坛将帮助我更好地理解解决方案

我创建了一个对象,如下所示:

var school={
  name:"purnapramati",
  location:"girinagar",
  'state-name':"karnataka",
  proximity:true
}
现在,我动态添加一个属性,如下所示:

school.country="india";
当打印学校对象时,我看到更新的country属性,值为India

现在,我尝试将属性添加到邻近属性:

school.proximity.distance="less than 4kms";
这次,距离属性不会添加到“接近度”属性,也不会反映在学校对象中

为什么会有这种行为?请给我解释一下。我知道这是一个非常基本的问题,但我正在寻找一个令人信服的答案/理由。

问题是,您的邻近属性不是对象,因此它不能具有属性。它是具有单个值的布尔值

我不确定真实的接近度代表什么,但你可以这样做:

var school={
  name:"purnapramati",
  location:"girinagar",
  'state-name':"karnataka",
  proximity: {
      nearby: true
  }
}
school.proximity = { distance: "less than 4kms" };
之后,您可以在尝试使用距离时为其提供其他属性

或者使用原始结构,您可以执行以下操作:

var school={
  name:"purnapramati",
  location:"girinagar",
  'state-name':"karnataka",
  proximity: {
      nearby: true
  }
}
school.proximity = { distance: "less than 4kms" };
但是,除非将其存储在另一个属性中,否则将丢失该真实值。

问题在于,您的邻近属性不是对象,因此它不能具有属性。它是具有单个值的布尔值

我不确定真实的接近度代表什么,但你可以这样做:

var school={
  name:"purnapramati",
  location:"girinagar",
  'state-name':"karnataka",
  proximity: {
      nearby: true
  }
}
school.proximity = { distance: "less than 4kms" };
之后,您可以在尝试使用距离时为其提供其他属性

或者使用原始结构,您可以执行以下操作:

var school={
  name:"purnapramati",
  location:"girinagar",
  'state-name':"karnataka",
  proximity: {
      nearby: true
  }
}
school.proximity = { distance: "less than 4kms" };

但是,除非将其存储在另一个属性中,否则将丢失该真实值

school.approxity={距离:小于4km}

嗯。如果我想让它成为一个动态的对象呢?我能做吗?谢谢。现在我明白了。谢谢,好的。如果我想让它成为一个动态的对象呢?我能做吗?谢谢。现在我明白了。谢谢