•принцип:
• Расширенный браузер поддерживает метод Foreach
Синтаксис: как Foreach, так и поддержка карты 2 Параметры: один - функция обратного вызова (элемент, индекс, список) и контекст;
• Foreach: используется для итерации через каждый элемент в массиве; Это выполнение метода не имеет возврата и не влияет на исходный массив;
• В массиве есть несколько элементов, поэтому анонимная функция обратного вызовов, выполняющую необходимость, чтобы выполняться несколько раз;
• Каждый раз, когда выполняется анонимная функция, также передаются три значения параметра: текущий элемент в массиве, индекс индекса текущего элемента и исходный ввод массива;
• Теоретически, этот метод не возвращает значение, он просто пересекает каждый элемент в массиве и не изменяет исходный массив; Но мы можем самостоятельно изменить первоначальный массив через индекс массива;
• Это в методе Foreach Ary, и это в функции анонимного обратного вызова - окно по умолчанию;
var ary = [12,23,24,42,1]; var res = ary.foreach (function (item, index, input) {input [index] = item*10;}) console.log (res); //-> undefined; console.log (ary); //-> изменит исходный массив;• Карта: очень похожа на Foreach. Он используется для итерации через каждое значение элемента в массиве и для выполнения каждого элемента в массиве;
• Разница: возвращаемое значение возврата поддерживается в функции обратного вызова карты; Что такое возврат, эквивалентно изменению этого элемента в массиве на то, почему (он не влияет на исходный массив, он просто эквивалентен клонированию копии исходного массива и изменении соответствующих элементов в клонированном массиве);
• Каждая или карта поддерживает второе значение параметра. Второй параметр означает изменение этого в функции анонимного обратного вызова.
var ary = [12,23,24,42,1]; var res = ary.map (function (item, index, input) {return item*10;}) console.log (res); //-> [120,230,240,420,10]; Консоль.• Совместимый метод написания:
• Будь то FOREACH или MAP в IE6-8 (нет двух методов на массиве.
/*** Foreach Traversal Array* @param callback [function] Функция обратного вызова; * @param context [Object] контекст; */Array.prototype.myforeach = function myforeach (обратный вызов, контекст) {контекст = контекст || окно; if ('foreach' в array.prototye) {this.foreach (обратный вызов, контекст); возвращаться; } // В IE6-8 напишите логику для выполнения функции обратного вызова самостоятельно для (var i = 0, len = this.length; i <len; i ++) {callback && callback.call (контекст, это [i], i, this); }} /*** MAP MARVERSAL ARRAY* @param обратный вызов [Функция] Функция обратного вызова; * @param context [Object] контекст; */Array.prototype.mymap = function mymap (callback, context) {context = context || окно; if ('map' в array.prototye) {return this.map (обратный вызов, контекст); } // IE6-8 Логика, чтобы написать выполнение функции обратного вызова самостоятельно var newary = []; for (var i = 0, len = this.length; i <len; i ++) {if (typeOf callback === 'function') {var val = callback.call (контекст, это [i], i, this); Newary [newary.length] = val; }} return newary;}PS: Если в приведенном выше методе написания ошибок, пожалуйста, исправьте, ^^
Вышеуказанное введение в методы массива Foreach () и Map () и совместимые методы написания в JavaScript - все, что я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.