jQuery中奇怪的添加行为

时间:2013-11-12 14:26:32

标签: javascript jquery

我正在查看一些旧的问题,我遇到了How to add 2 numbers in jQuery,我看到了:

$(1)+$(2)="[Object object][Object object]"

然后尝试查看$(1)推出的内容,结果是[1],同样适用于$(2)[2]

通常情况下,当您尝试添加[1]+[2]时,它会为您提供"12",但如果您添加$(1) and $(2),则会为您提供"[object Object][object Object]"

这种行为有什么解释?

1 个答案:

答案 0 :(得分:5)

$(1)可能会在控制台中显示为[1],但不要被愚弄,它仍然是一个jQuery对象,而不是数组中的int。

console.log(Array.isArray($(1)) //false

[object Object]通常是将任何对象转换为字符串时显示的内容,因此当它是一个字符串时,它就会显示为[object Object]。

当你在那里添加时,它可能首先将这两个对象转换为字符串(因为它不知道如何添加对象),然后连接字符串。