Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么在引用发生更改时,将textContent分配给引用不会更新DOM?_Javascript_Html_Dom - Fatal编程技术网

Javascript 为什么在引用发生更改时,将textContent分配给引用不会更新DOM?

Javascript 为什么在引用发生更改时,将textContent分配给引用不会更新DOM?,javascript,html,dom,Javascript,Html,Dom,看起来textContent是节点中的一个属性,但为什么下面的代码不能按预期工作: 这有点像复制而不是引用吗?是的,这是由于作业的工作方式 将对象或其派生的任何对象指定给变量实际上会将引用指定给该对象,并增加该对象的引用计数 赋值原语将传递其值的副本。是的,JavaScript使用赋值和按值传递,而不是通过引用。更改时需要重新赋值。d、 textContent=“新文本”@FelixKling对于对象和数组来说不是这样吗?@Jeff:那么,这个值就是对对象/数组的引用。passbyrefere

看起来textContent是节点中的一个属性,但为什么下面的代码不能按预期工作:


这有点像复制而不是引用吗?

是的,这是由于作业的工作方式

对象
或其派生的任何对象指定给变量实际上会将引用指定给该对象,并增加该对象的引用计数


赋值原语将传递其值的副本。

是的,JavaScript使用赋值和按值传递,而不是通过引用。更改时需要重新赋值。d、 textContent=“新文本”@FelixKling对于对象和数组来说不是这样吗?@Jeff:那么,这个值就是对对象/数组的引用。passbyreference实际上意味着对变量本身的引用被传递或赋值(JS不是这样工作的)。更多信息:。@Jeff:例如,假设
data.text
是一个对象,而不是字符串。这会有所不同吗?否,因为
data.text
被分配了一个新值,
d.textContent
仍然引用旧值,无论它是对象还是原始数据类型。
var d = document.getElementById("container");

var data = {text: "something different"};

d.textContent = data.text;

data.text = "new text";