javascript - Javascript 中向对象添加属性的两种方法之间的区别

标签 javascript reactjs

我的代码涉及根据一些测试用例向对象添加属性。这是我这样做的两种方法。我在reactjs 中使用这个对象进行内联样式。

var myObject = {}

//some code

myObject = {
key1: value1,
key2:value
} 

//some code

myObject = {
key3: value3,
key4: value4
}

所有属性(样式)的应用不一致。所以我尝试这样做并且效果正常。请解释为什么会发生这种情况。

var myObject = {}

//some code

myObject = {
key1: value1,
key2:value
} 

//some code

myObject.key3 = value3;
myObject.key4 = value4;

这两种方式有什么区别?

最佳答案

在第一个代码段中,您没有向对象添加属性,而是覆盖整个 myObject。在第二个片段中,您将单个值分配给一个键,即。添加带有值的属性。

例如:

var i = {num: 1};
i.num = 2;
console.log(i.num); // 2
i = {str: "Hello"};
console.log(i.num); // undefined
console.log(i.str); // "Hello"
i.num = 1;
console.log(i.num); // 1
console.log(i.str); // "Hello"

关于javascript - Javascript 中向对象添加属性的两种方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39036682/

相关文章:

javascript - 为什么 Javascript 有时无法在 IE8 中加载

javascript - Angular 2更改className更改类名称,然后将其删除

javascript - 如何将变量传递给嵌套函数?

javascript - 为什么 props 在 render 和 componentWillReceiveProps 中显示不同的值?

javascript - If(tostring.call(input)!= ="[object Array]"无法理解这一点

javascript - JS 表值更新 onchange

ReactJS 失败并出现错误 "Cannot read property ' map' of undefined`”

reactjs - 在公共(public)文件夹内 react : Accessing a page outside React app,

javascript - 如何在 React 中突出显示页面滚动上的导航栏链接

reactjs - 在react-redux中重新加载页面的正确方法是什么?