jQuery扩展到Prototype转换

时间:2013-03-22 05:27:16

标签: jquery prototypejs

我正在尝试将下面的jQuery扩展转换为Prototype,如扩展名:

$.some = function(array, cmp_bool, context) {
    if (Array.prototype.some) {
        return array.some(cmp_bool, context);
    } else {
        if (context) {
            cmp_bool = $.proxy(cmp_bool, context);
        }
        return !!($.grep(array, cmp_bool).length)
    }
};

1 个答案:

答案 0 :(得分:1)

PrototypeJS已将其内置于核心。

Array对象类型混合在Enumerable方法中 - 其中some()方法具有完全相同的参数(没有数组作为第一个参数,因为您在Array实例上操作)

所以给出了这些

var testit = function(t){
    return t < 10;
}
var myArray = [1, 2, 3, 7, 10];

您提供的jQuery扩展名就像这样调用

$.some(myArray,testit);
//or noConflict() mode
jQuery.some(myArray,testit);

并且像这样调用内置的PrototypeJS方法

myArray.some(testit);

**可枚举方法some()的别名是此处链接的any()方法 http://api.prototypejs.org/language/Enumerable/prototype/any/