javascript - jQuery 中的奇怪添加行为

标签 javascript jquery

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

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

然后尝试查看 $(1) 输出了什么,结果是 [1]$(2) 也是如此[2]

通常,当您尝试添加 [1]+[2] 时,它会给您 "12",但如果您添加 $(1 ) 和 $(2),它给你 "[object Object][object Object]"

这种行为的解释是什么?

最佳答案

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

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

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

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

关于javascript - jQuery 中的奇怪添加行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19931793/

相关文章:

javascript - 在 Controller 中访问 ng-repeat $first 属性

javascript - 如何检查嵌入了 JavaScript 徽章的网站?

javascript - 如何检查值是否为空数组?

jquery - 如何使用 JQuery 在 TextArea 中对通配符应用写保护?

jQuery ajax 不调用 Servlet

javascript - D3 带有自定义元素 : TypeError: t is null

javascript - 本地主机不允许我链接到 WordPress 中的 javascript

javascript - 每个图像都可以预览的功能

jquery - jqplot - 使用图像作为刻度

javascript - 使用正则表达式在字符串中的特定位置插入自动破折号