这一直让我有点困惑,我的编程术语不足以用谷歌搜索它。甚至不确定标题是否有意义。 例如,如果我有一个像这样的对象数组......
var someObjects = [{type: 'apple'}, {type: 'orange'}, {type: 'banana'}];
...我说...
var theBestFruit = someObjects[2];
但随后我们将另一个对象添加到开头,移动所有元素...
someObjects.unshift({type: 'pear'});
theBestFruit
还会引用香蕉对象吗?还是现在是橙色?一些解释将不胜感激。
最佳答案
嗯..试试看?
提示:
someObject[2]
expression 被eagerly evaluated 为值(读取:对象),然后绑定(bind)(读取:分配给) 变量 theBestFruit
.除非theBestFruit
被重新分配(读取:绑定(bind)到其他东西)它将始终评估为相同的对象(读取:值)。
someObjects[2]
没关系稍后评估为其他内容 - 它不会影响 theBestFruit
的绑定(bind)这是在 =
时确定的(阅读:作业)。
关于javascript - 引用 javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13487209/