2016-03-10 3 views
0

У меня есть некоторый кодНе могли бы вы рассказать мне, что такое функция (эл)?

hideLoadMask : function(response,config){ 
        //Once the response is processed for a particular request it will be removed from the processing array 
        this.loadMaskRequestQueue = 
           this.loadMaskRequestQueue.filter(function (el) { 
              return el.requestID !== response.requestID; 
          }); 
    } 

Здесь, в «эль» содержит данные, такие как loadingText: «Загрузка ... Пожалуйста, подождите.» requestID: 1

Когда я вызываю hideLoadMask(), я передаю ответ = "Загрузка ... Подождите."

Не могли бы вы рассказать мне, что такое функция (эл), как значение параметра моего ответа стало как поле для el, что такое requestID.

plz уточнить мои сомнения.

Заранее спасибо

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter – Bergi

ответ

1

Это рядное анонимное определение функции, которая служит в качестве обратного вызова метода .filter().

Метод .filter() принимает обратный вызов, который он вызывает для выполнения его работы. Вы можете определить именованную функцию в другом месте, а затем передать имя этой функции, или вы можете определить функцию обратного вызова inline с этим типом синтаксиса.

el в function(el) означает, что метод .filter() будет вызывать обратный вызов по меньшей мере аргумент (элемент массива в настоящее время фильтрованного), и это является аргументом, что обратный вызов желает использовать. Если вы проверите документацию для .filter()here, вы увидите, что она фактически передает три аргумента для обратного вызова, но этот конкретный обратный вызов предназначен только для использования первого аргумента, так что это единственное, что ему нужно объявить.

+0

this.loadMaskRequestQueue создан только сейчас, как метод фильтра стал членом loadMaskRequestQueue ?? plz clearify –

+0

@ NageswaraRao.K - 'this.loadMaskRequestQueue' должен быть уже массивом до вызова этого метода. Назначение просто создает новый отфильтрованный массив, а затем присваивает его обратно тому же 'this.loadMaskRequestQueue', так что' this.loadMaskRequestQueue' затем содержит отфильтрованную версию массива после запуска этого метода. Это похоже на нечто подобное: str = str.slice (1); '. – jfriend00

+0

как 'el' содержит данные, такие как loadText: «Загрузка ... Подождите». requestID: 1. Я слышал, что «el» создается при нажатии кнопки или событии с помощью элемента html и что el содержит данные соответствующего элемента html. но вот другой сенарио. не могли бы вы объяснить это. –

Смежные вопросы