1

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

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

4

1 回答 1

2

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

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"]
于 2013-11-03T18:43:33.077 回答