我很难从XUL中调用这个异常结构化的Javascript函数

时间:2014-01-20 00:09:30

标签: javascript parameters xul

(function(aLeftPane) { ... }) ("History")

完整的功能在这里:pastebin.com

我无法理解括号的秒组内容如何传递到第一组中的函数。

我想将硬编码的“历史”变成一个变量。我已经尝试将整个事情包装在一个更常规的函数中,但是我无法成功地将参数传递给它。

调用该函数的XUL目前如下所示:oncommand="madeUpWrapperName('history');"

1 个答案:

答案 0 :(得分:0)

(function(aLeftPane) { ... }) ("History")

不是是一个异常结构化的函数,它是JS中封装代码的常见模式。它的作用是声明一个匿名函数,然后立即调用它。库经常使用它来创建lib入口点并干净地将私有代码与公共代码分开,而不会污染全局名称空间。

在您的情况下,您实际上想要打开函数:

function unwrapped(aLeftPane) 
{
    /**
     * Select left panel in Library.
     *
     * @param aBrowser Browser object in selected tab.
    ...

}

然后,在你的xul或其他地方:

oncommand="unwrapped('History');"