javascript - .get() 在 jQuery API 中没有索引的原因?

标签 javascript jquery arrays

假设我有一个页面提取了一些图像源,如下所示:

<div id="d">
  <img src="foo.gif"/>
  <img src="bar.gif"/>
  <img src="gah.gif"/>
</div>
<script type="text/javascript">
  var srcs = $('div#d > img').map(function(){return this.src});
  // srcs => ['foo.gif', 'bar.gif', 'gah.gif']
</script>

请注意,srcs 不是 JavaScript 数组,而是类数组对象;我们之所以知道这一点,是因为我们可以对选择器返回的对象进行 jQuery API 调用,并且 srcs.constructor != Array

jQuery API 提供了一个 .get() method其中,当没有参数时,返回一个“标准”数组。是否有令人信服的理由使用标准数组而不是类似数组的对象,或者此方法是否只是为了完整性而包括在内?

[编辑]

换句话说 - JavaScript 数组和 jQuery 选择器返回的类数组对象之间有什么区别?

最佳答案

它允许您使用 jQuery 没有的标准数组方法,例如 push

特别是,jQuery 对象是不可变的,而数组不是。

关于javascript - .get() 在 jQuery API 中没有索引的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6254164/

相关文章:

javascript - 如何在不改变宽度/高度的情况下垂直和水平对齐 DIV 中的图像?

javascript - 如何查询 Mongoose 数据库以检索一项?

arrays - 使用 Mustache.Js 渲染简单数组

javascript - 如何从 Canvas 中删除对象?

javascript - hapi.js Cors Pre-flight 不返回 Access-Control-Allow-Origin header

JavaScript eval() 语法

javascript - 当在rails中使用jquery Submit()而不是submit_tag时,地理编码器搜索失败

javascript - 通过谎言@media 查询的非响应式 Bootstrap

jquery - 如何在 jQuery 中访问 Rails 2 flash[] 哈希值?

java - 有没有更好的方法将字符串数组转换为整数数组?