我正在查看一些旧的问题,我遇到了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]"
。
这种行为有什么解释?
答案 0 :(得分:5)
$(1)可能会在控制台中显示为[1],但不要被愚弄,它仍然是一个jQuery对象,而不是数组中的int。
console.log(Array.isArray($(1)) //false
[object Object]通常是将任何对象转换为字符串时显示的内容,因此当它是一个字符串时,它就会显示为[object Object]。
当你在那里添加时,它可能首先将这两个对象转换为字符串(因为它不知道如何添加对象),然后连接字符串。