相关疑难解决方法(0)

为什么[1,2,3]在Javascript中不等于它自己?

我今天在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

11
推荐指数
2
解决办法
3217
查看次数

在Javascript中,为什么[1,2] == [1,2]或({a:1})==({a:1})为假?

以下是在Firebug中完成的:

>>> [1, 2] == [1, 2]
false

>>> ({a : 1}) == ({a : 1})
false
Run Code Online (Sandbox Code Playgroud)

我认为Javscript有一些规则说,如果一个Object或Array对相同的元素具有相同的引用,那么它们是相等的吗?

但即使我说

>>> foo = {a : 1}
Object { a=1}

>>> [foo] == [foo]
false

>>> ({a: foo}) == ({a: foo})
false
Run Code Online (Sandbox Code Playgroud)

有没有办法使它能够进行元素比较并返回true

javascript

6
推荐指数
1
解决办法
736
查看次数

为什么空数组等于空字符串,而不是 javascript 中的另一个空数组?

在此处输入图片说明

谁能描述一下上面的图片?这是我的 Chrome 开发工具控制台的屏幕截图。

javascript

1
推荐指数
1
解决办法
691
查看次数

标签 统计

javascript ×3