DOM事件目标解构

时间:2019-06-08 00:40:10

标签: javascript

我正在尝试从事件目标中解构innerHTML属性,但是当这样做时,DOM似乎没有更新。它适用于样式,但不适用于innerHTML重新分配。

heading = document.querySelector('h1');

heading.addEventListener("click", function(e){
    let {innerHTML} = e.target;
    innerHTML = "Hi there";
})

1 个答案:

答案 0 :(得分:0)

使用像这样的解构就是这样的:

heading.addEventListener("click", function(e){
    let foo = e.target.innerHTML;
    foo = "Hi there";
})

在这种情况下,由于innerHTML不是对象,而是标量,因此JavaScript将按值而不是按引用进行复制。这意味着更改foo不会不会更改e.target.innerHTML,因为它们没有指向内存中的相同位置。