javascript - jQuery 库设计 : how does jQuery work like an array, 但它是一个对象吗?

标签 javascript jquery

鉴于您可以使用类似数组的括号语法访问 jQuery 对象的成员:$myjQueryObject[0],jQuery 似乎扩展了内置的Array 对象.但是,我似乎找不到他们在哪里执行此操作,在 jquery.js 文件中。

我已经通过扩展 Array“类”成功完成了类似的事情,只是好奇 jQuery 是如何做到的!

最佳答案

任何对象都可以通过[] 符号访问其属性。

var obj = {};

obj["foo"] = "bar";
obj[1]=  "baz";

在 JavaScript 中,数组只是一个专门的对象,因此它的 [] 语法与任何其他对象相同。

此外,Array.prototype 方法在规范中是通用的。它们可以应用于任何“类数组”对象,即具有数字 .length 和数字索引的任何对象。

var obj = {"1": "bar", "0": "foo", "2": "baz"};

var arr = Array.prototype.slice.call(obj, 1);

console.log(arr); // ["bar", "baz"]

关于javascript - jQuery 库设计 : how does jQuery work like an array, 但它是一个对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19756561/

相关文章:

javascript - 移动设备上的表单错误而不是桌面上的

javascript - 为什么对 php 的简单 ajax 调用会表现出这种奇怪的行为?

javascript - 当第二个菜单折叠打开时如何关闭第一个菜单折叠?

javascript - 如何设置与主文件分开的快速路线?

javascript - Qtip2 从互联网加载 "jquery.qtip.min.map"并减慢站点速度

jquery - Jvectormap 在 div 变化上非常小

javascript - 如何在 javascript 对象上进行匹配和替换

javascript - 如何使用selenium点击由javascript生成的元素

javascript - 使用正则表达式掩码实时控制浮点输入

javascript - 引用 javascript 文件以使用 visual studio 2010 intellisense