【发布时间】:2020-12-01 15:22:20
【问题描述】:
终于从JS开始了,我有个问题。
为什么这段代码不起作用(我在 HTML 中有两张带有 fir 和 sec Id 的图像)
function swap() {
let x = document.getElementById("fir").src
let y = document.getElementById("sec").src
let z = x
x = y
y = z
}
但是这个可以
function swap() {
let x = document.getElementById("fir")
let y = document.getElementById("sec")
let z = x.src
x.src = y.src
y.src = z
}
【问题讨论】:
-
只是一个提示:
[x.src, y.src] = [y.src, x.src] -
这是一种在不使用第三个变量的情况下交换两个变量的方法吗?
-
第一段代码新建了一个src变量,改变了字符串值,不影响元素,但是第二段代码创建了元素的引用,直接影响了src属性。
-
@Orochi 是的,你可以做两个以上也可以
[a,b,c] = [c,b,a]它被称为Destructuring assignment -
这与您有时会遇到的所有 "illegal invocations" 相关...
标签: javascript html