Javascript中的数组行为

Sun*_*ari 8 javascript arrays google-chrome

我尝试在Chrome Developer Console中执行代码,我得到了这个奇怪的结果,我无法理解

var arr = [[2,2]];console.log('Array is',arr);arr[0] = [3,3]
Run Code Online (Sandbox Code Playgroud)

执行此操作后得到的输出是

Array is [[3,3]]

任务应该在console.log执行完毕后发生.但它在那之前神奇地发生了.

为了澄清我尝试在JsBin中运行相同的代码.但是在JSBin中,我得到了预期的结果

Array is [[2,2]]

但是,此代码会产生预期的chrome结果

var arr = [2,2];console.log('Array is',arr);arr[0] = 3;console.log(arr)

产量 Array is [2,2] [3,2]

有人可以帮助我理解这一点.

Sre*_*nth 2

这是因为当你初始化/声明变量时,chrome 会将变量赋值的值放在控制台中。这是预期的行为。

在此输入图像描述