2016-03-10 91 views
0

我有一些代碼你能告訴我什麼是功能(el)?

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()時,我傳遞response =「正在加載...請稍候。」

你能告訴我什麼是函數(el),我的響應參數的值如何變成el的字段,什麼是requestID。

plz澄清我的疑惑。

在此先感謝

+0

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

回答

1

這是一個內聯匿名函數定義,作爲一個回調到.filter()方法。

.filter()方法會調用一個回調函數來執行它的操作。你可以在其他地方定義一個命名函數,然後傳遞該函數的名字,或者你可以用這種類型的語法內聯定義回調函數。

function(el)中的el表示.filter()方法將使用至少參數(當前正在過濾的數組元素)調用回調,這是回調希望使用的參數。如果你查看.filter()here的文檔,你會發現它實際上傳遞了三個參數給回調函數,但是這個特定的回調函數只關心使用第一個參數,所以這是它唯一需要聲明的參數。

+0

this.loadMaskRequestQueue剛剛創建,過濾方法如何成爲loadMaskRequestQueue的成員?? plz澄清 –

+0

@ NageswaraRao.K - 在調用此方法之前,this.loadMaskRequestQueue必須已經是數組。該任務只是創建一個新的過濾數組,然後將其分配回相同的'this.loadMaskRequestQueue',以便'this.loadMaskRequestQueue'包含在此方法運行後數組的過濾版本。它類似於這樣的'str = str.slice(1);'。 – jfriend00

+0

'el'如何包含像loadingText這樣的數據:「正在加載...請稍候。」 requestID:1.當點擊一個按鈕或通過html元素觸發一個事件並且el包含相應html元素的數據時,我聽到'el'創建。但這裏是一個不同的senario。你能解釋一下嗎? –

相關問題