2013-02-27 54 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