Я реализую функцию .every на массиве. Я в старой среде JavaScript javascript, и функция ниже не сделала компилятор слишком счастливым (Rhino). Версия javascript - стандарт ECMA 262 JavaScript 1.5.очень обратная совместимость .every function
Однако код Mozilla поставляет для изготовления . Всеобъемлющие обратные совместимы, похоже, не работают в двигателе, поэтому я пытаюсь реализовать более легкую, менее функциональную версию. Таким образом, я хочу понять, как работает скрипт, чтобы внести необходимые корректировки.
Мой вопрос; как я могу реализовать крайне не сложную версию ниже, которая гарантирована для работы с JS 1.5?
if (!Array.prototype.every)
{
Array.prototype.every = function(fun /*, thisp */)
{
"use strict";
if (this == null)
throw new TypeError();
var t = Object(this);
var len = t.length >>> 0;
if (typeof fun != "function")
throw new TypeError();
var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
if (i in t && !fun.call(thisp, t[i], i, t))
return false;
}
return true;
};
};
'каждый'? Это то же самое, что и «каждый»? – PeeHaa
Вы думаете о каждом в jQuery или _js? Я видел только. На массивах, которые изначально реализованы в js – Phil
@PeeHaa Я считаю, что 'every' применяет обратный вызов для каждого элемента массива и возвращает' true', когда все элементы возвращают правдивое значение из обратного вызова. –