引用javascript对象

引用javascript对象,javascript,object,Javascript,Object,这对我来说总是有点困惑,我的编程术语不足以用谷歌搜索它。甚至不知道这个标题是否有意义。 例如,如果我有一个像这样的对象数组 var someObjects=[{type:'apple'},{type:'orange'},{type:'banana'}] …我要说的是 var theBestFruit=someObjects[2] 但我们在开头加上另一个物体,移动所有元素 unshift{type:'pear'} 最好的水果还会引用香蕉对象吗?还是现在是橙色的?如果您算为非程序员,请给出一些解释。

这对我来说总是有点困惑,我的编程术语不足以用谷歌搜索它。甚至不知道这个标题是否有意义。 例如,如果我有一个像这样的对象数组

var someObjects=[{type:'apple'},{type:'orange'},{type:'banana'}]

…我要说的是

var theBestFruit=someObjects[2]

但我们在开头加上另一个物体,移动所有元素

unshift{type:'pear'}

最好的水果还会引用香蕉对象吗?还是现在是橙色的?如果您算为非程序员,请给出一些解释。

theBestFruit=someObjects[2]将查找第二个或第三个位置的内容,这是对象{type:'banana'},并将此对象的直接引用指定给bestfruit。引用不是指向someObjects的第二个对象。因此,如果某些对象发生变化,最好的结果仍然是{type:'banana'}

最好的测试方法是。。。测试它。

theBestFruit=someObjects[2]将查找第二个或第三个对象,如果您将someObject计算为非程序员:p位置,即对象{type:'banana'},并将此对象的直接引用分配给bestfruit。引用不是指向someObjects的第二个对象。因此,如果某些对象发生变化,最好的结果仍然是{type:'banana'}

最好的测试方法是。。。测试一下。

好吧。。试试看

提示:

someObject[2]表达式急切地求值为read:object,然后绑定为read:assigned给变量theBestFruit。除非将最佳结果重新指定为read:bind,否则它将始终计算为相同的对象read:value

如果某个对象[2]稍后计算为另一个对象,这无关紧要——它不会影响在=read:assignment时确定的最佳结果的绑定。

好吧。。试试看

> var someObjects = [{type: 'apple'}, {type: 'orange'}, {type: 'banana'}];
undefined
> var theBestFruit = someObjects[2];
undefined
> someObjects.unshift({type: 'pear'});
4
> someObjects
[ { type: 'pear' },
  { type: 'apple' },
  { type: 'orange' },
  { type: 'banana' } ]
> theBestFruit
{ type: 'banana' }
> 
提示:

someObject[2]表达式急切地求值为read:object,然后绑定为read:assigned给变量theBestFruit。除非将最佳结果重新指定为read:bind,否则它将始终计算为相同的对象read:value


如果某些对象[2]在以后计算为其他对象,这无关紧要——它不会影响在=read:assignment时确定的最佳结果的绑定。

我认为,当您向列表中添加新对象时,以前对象的地址不会更改。因此,它仍然应该引用香蕉对象。您可以在比起草问题所需的时间更短的时间内进行测试。我认为,当您将新对象添加到列表中时,以前对象的地址不会更改。因此,它仍然应该引用香蕉对象。您可以在比起草问题所需的时间更短的时间内进行测试。感谢您澄清这一点。pst的回答同样信息丰富,只是第一次看到这个。谢谢你澄清。pst的回答同样具有信息性,只是第一次看到这个。
> var someObjects = [{type: 'apple'}, {type: 'orange'}, {type: 'banana'}];
undefined
> var theBestFruit = someObjects[2];
undefined
> someObjects.unshift({type: 'pear'});
4
> someObjects
[ { type: 'pear' },
  { type: 'apple' },
  { type: 'orange' },
  { type: 'banana' } ]
> theBestFruit
{ type: 'banana' }
>