Javascript 为什么是;获取();在这个例子中有必要吗?
我试着从另一个角度来理解这个例子 在这个片段中Javascript 为什么是;获取();在这个例子中有必要吗?,javascript,jquery,Javascript,Jquery,我试着从另一个角度来理解这个例子 在这个片段中 var tags = this.map(function () { return this.tagName; }) .get().join(", "); 为什么get()是必需的? 在中,它表示get()检索与jQuery对象匹配的DOM元素。在本例中,我看到get()不是应用于jq对象,而是应用于字符串。 当我删除get()时,会收到以下错误消息: 未捕获的TypeError:对象
var tags = this.map(function () {
return this.tagName;
})
.get().join(", ");
为什么get()是必需的?
在中,它表示get()检索与jQuery对象匹配的DOM元素。在本例中,我看到get()不是应用于jq对象,而是应用于字符串。
当我删除get()时,会收到以下错误消息:
未捕获的TypeError:对象[Object Object]没有方法“join”
为什么join不能与map一起使用?
join
用于数组(纯js数组)
函数返回需要转换为js平原的jquery数组
.Get()
-这样做
检索与jQuery对象匹配的DOM元素
- 这里,
这是带有节点列表的jQuery对象。(
中的所有函数都将其上下文(即jQuery.fn
)设置为调用函数的jQuery对象。)this
- 调用返回带有字符串列表的jQuery对象。(您可能会混淆jQuery的
函数和ECMAScript 5中引入的数组函数。)map
- 对
的调用返回这些字符串的普通JS数组,get
对该数组进行操作join
调用
get
是将带有字符串列表(由map
返回)的jQuery对象转换为普通JS数组所必需的,这样它就可以与join
“return this.tagName;”这是jq对象吗?@AladdinHoms No,但调用.map()
的结果是jQuery对象。调用.get()
从jQuery对象内部的元素(在本例中为文本节点)创建一个本机Javascript数组,允许您使用join()
,它是数组的本机Javascript函数,而不是jQuery函数。join实际上是一个数组函数,get返回相当于包含字符串的jQuery对象的数组。@Yoshi你说得对,我只是在重新阅读我的评论,想知道我到底为什么说文本节点,因为我根本不想说这些。