我对此很好奇.
比方说,我有对象的数组和我创建1个对象,让命名的对象数组项目和对象项目.
我想通过使用以下代码在我的项目数组中获取特定项:
//gets an item base on ID
function get_item(td){
var item = undefined;
$.each(items, function(i, val) {
if(val.item_id == td){
item = val;
}
});
return item;
}
Run Code Online (Sandbox Code Playgroud)
get_item()基本上获取与提供的id匹配的对象.
所以我的问题是这个.如果我更改了item的属性,它还会更改数组中与之关联的对象的属性吗?
非常感谢你!
如果我更改了item的属性,它还会更改数组中与之关联的对象的属性吗?
是.
不复制对象.而是传递对对象的引用.最简单的例子:
var a = [];
var b = a;
b.push(1);
console.log(a); // logs [1]
Run Code Online (Sandbox Code Playgroud)
许多面向对象的编程语言都是这样工作的.