这种现象的程序化说法是什么?

时间:2010-06-09 06:45:26

标签: terminology

这是用于添加一行图像的javascript代码(jquery):

var tr = $('<tr>');
var td = '<td><img src="myimg.jpg"/></td>';
tr.append(td).append(td).append(td);
$('#mytable tbody tr:eq(0)').before(tr);
tr.empty(); //I really don't need this line...

技术上tr.empty()不应该有效。它实际上与我想要的相反。这种行为的技术术语是什么 - 你已经将tr添加到DOM中,但是对该对象的任何jquery函数调用仍然有效,而你通常不希望它工作,即对DOM进行更改?

2 个答案:

答案 0 :(得分:1)

我认为你有一个共享的可变对象的案例。您正在一个地方修改对象,并惊讶地发现在另一个地方可以看到更改。这在技术上不是错误的;这就是当您对可以修改的对象进行多次引用时会发生什么。

答案 1 :(得分:0)

如果除了'对象引用'之外还有一个特定术语,我不知道它是什么。我建议你的期望:

  

对该对象的任何jquery函数调用仍然有效,你通常不希望它工作,即对DOM进行更改?

应该调整

- 对于对象变量,人们应该期望通过任何特定的引用进行更改,所有引用都会看到更新的对象。