是否有一个jQuery相当于MooTools哈希?

我不认为jQuery有一个Hash类,所以有没有等价的?

无论如何,我一直认为Object做得很好。 那么除了一些实用方法之外,MooTool的哈希有什么特别之处呢?

我无法完全回答你的问题,因为我对jquery几乎一无所知,但我会尝试在mootools中解释哈希,这样你就可以尝试自己找到合适的解决方案

基本上,mootools哈希的最好的部分是能够原型化对象,因此它们可以支持/inheritance常用方法(你不能在普通对象上做)。

例如,通过hash返回对象键的方法是var keys = new Hash({foo:'bar'}).getKeys();

所以除了通过框架inheritance内置方法( http://mootools.net/docs/core/Native/Hash )之外,您还可以通过Hash.implement原型化哈希原型来定义自己的方法:

 Hash.implement({ ismoo: function() { return this.hasValue("moo"); } }); var f = new Hash({foo:'moo',moo:'cow'}); alert(f.ismoo()); 

我不能告诉你的是如何在jquery中复制这样的function – 你可以扩展jQuery,我想通过iirc $.fn.hasValue = function() { ... }; 或者不管语法是什么。

无论如何 – 底线是,mootools.Hash不会做任何你不能以不同的方式做自己的事情,它只是方便地做得很好:)

MooTools和jQuery不是互斥的。

大多数MooTools的通用编程模块都不属于jQuery范围。 jQuery完全可以与其他通用编程工具和框架一起使用。

MooTools非常模块化。 您可以使用仅使用Hash的MooTools的Core Builder轻松构建自定义MooTools构建 。 我尝试了它,它在YUI压缩下大约6k(使用gzip更少)。

无论出于何种原因,如果您想完全重写代码以删除所有Hash痕迹,您可以使用自定义构建作为一种权宜之计。 提前发布并经常发布!

这篇文章的后期,但对于现在发现这一点的人来说,有一个插件将自己描述为“MooTools的哈希(来自mootools-more)对象/本机的jQuery”。

https://github.com/gcoguiec/jquery-hash