gpt4 book ai didi

javascript - 如何创建一个行为类似于真正数组的构造函数?

转载 作者:行者123 更新时间:2023-11-29 16:22:11 25 4
gpt4 key购买 nike

如何创建自定义数组构造函数,它是原生数组构造函数的扩展版本?

例如,jQuery 看起来像一个带有附加方法的数组,例如 $().addClass。但是,它没有修改 Array.prototype,因为 new Array().hasClassundefined

那么,如何在不修改 Array.prototype 的情况下创建扩展数组实现?

示例:

Employees( ... )          //-> [{name: 'John', age: 32}, {name: 'Bob', age: 29}];
Employees( ... ).byAge(32)//-> [{name: 'John', age: 32}];
// and
Array().byAge //-> undefined

最佳答案

jQuery 对象不是 Array,也不会“覆盖”Array 类。就是array-like .

您可以通过 browsing the source 查看 jQuery 如何实现这一点;另见 Array Like Objects in JavascriptWhy Are Array-Like Objects Used in Javascript Over Native Arrays .

关于javascript - 如何创建一个行为类似于真正数组的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9854150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com