交换两个值的数组解构赋值无法实现,不使用分号(;)
P粉714780768
P粉714780768 2023-08-10 14:21:03
0
1
456
<p><br /></p> <pre class="brush:php;toolbar:false;">let [x, y] = [10, 20] [y, x] = [x, y] console.log(x, y)</pre> <p>它没有按预期工作,给了我一个错误...</p> <blockquote> <p>Uncaught ReferenceError: Cannot access 'y' before initialization</p> </blockquote> <pre class="brush:php;toolbar:false;">let [x, y] = [10, 20]; // 在这里使用分号 [y, x] = [x, y] console.log(x, y)</pre> <p>现在它可以正常工作,请有谁可以解释为什么它现在可以工作...</p>
P粉714780768
P粉714780768

全部回复(1)
P粉212971745

首先你需要先声明 x 和 y,而且在一行的语句后需要使用分号。

let x, y; [x, y] = [10, 20]; [y, x] = [x, y]; console.log(x, y)

编辑:对不起,你不需要事先声明它们,但是在指令之间要使用分号进行分隔。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板