javascript中数组的隐式强制

问题描述 投票:0回答:1
var a = '1,2,3' ;
var b = [1,2,3] ;
a==b//outputs true

我已经知道,var b被宽松的相等运算符强制转换为字符串,然后与变量a进行比较,然后将其评估为true。但是我也读到var b存储在它里面的东西只是分配给它的数组的内存地址。

如果现在我们将存储在var b中的数组的内存地址强制转换为隐式字符串,即使那样,内存地址如何等于数组的相应字符串。

请解释,我从很多天开始就被这个问题困扰.... plzzz

javascript arrays memory coercion
1个回答
0
投票

在您的代码中,a==b被解释为您写过

a==b.join()

b中存储的值是对数组的引用。那是一个内存地址还是其他无关紧要的东西。

© www.soinside.com 2019 - 2024. All rights reserved.