鉴于您可以使用类似数组的括号语法访问 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/