2013-02-27 53 views
1
function makeHelpCallback(help) { 
    return function() { 
    showHelp(help); 
    }; 

//array elements here 

    for (var i = 0; i < helpText.length; i++) { 
    var item = helpText[i]; 
    document.getElementById(item.id).onfocus = makeHelpCallback(item.help); 
} 

我無法理解最後一行。我從來沒有見過以這種方式使用的等號,瞭解javascript關閉

+0

這就像'element.onclick = function(){alert(); }',它只是一個元素,一邊是事件,另一邊是函數調用。 – adeneo 2013-02-27 21:10:45

+2

那整塊都是無效的......你在某個地方缺少一個'} ... – Neal 2013-02-27 21:10:53

+2

以什麼方式?這是一個像任何其他任務一樣。 – 2013-02-27 21:11:11

回答

6

我從來沒有見過這樣

使用等號它分配一個函數調用的返回值(函數在這種情況下, ;它們是第一類對象,因此可以傳遞)到對象的屬性。

+0

謝謝大家,特別是Quentin,我想我明白了。 – user2117138 2013-02-28 17:59:55