我开始时:
"1:2".split(':') == ["1","2"];
// false
Run Code Online (Sandbox Code Playgroud)
然后尝试:
[1,2] == [1,2];
// false
Run Code Online (Sandbox Code Playgroud)
最终:
[] == [];
// false
Run Code Online (Sandbox Code Playgroud)
我发现了:
"1:2".split(':').toString() == [1,2].toString();
// true
Run Code Online (Sandbox Code Playgroud)
所以我已经解决了我的初始问题(种类),但为什么数组不能相互匹配?
我今天在Javascript中玩数组并注意到这个小宝石:
alert([1, 2, 3] == [1, 2, 3]); //alerts false
Run Code Online (Sandbox Code Playgroud)
令我感到奇怪的是阵列不等于它自己.
但后来我注意到了这一点,甚至更奇怪了:
alert([1, 2, 3] == "1,2,3"); //alerts true
Run Code Online (Sandbox Code Playgroud)
?!?!?!?!?
世界上为什么[1, 2, 3]不是==自己而是==弦乐?
我认识到,==是不一样的===.即便如此,邪恶可能会导致Javascript先生做出如此奇怪的事情?
javascript ×2