繁体   English   中英

用外部名称调用函数表达式

[英]Calling an function expression with a name outside

我在javascript中有如下函数表达式:

(function () {
    .
    //code here
    .
    .
}());

我如何从其他函数中调用它。

我已经试过了。

var bind = (function () {
    //code here...//
}());

并在其他功能中调用它

bind();

要么

new bind();

要么

var b = new bind();

但这不起作用。 我怎样才能解决这个问题?

带有以下语句:

var bind = (function () {
    //code here...//

    return 42;
}());

bind变量未分配给该函数。 而是为它分配了立即函数的返回值。 这样您将获得bind = 42

使用立即函数定义函数

您可能要在立即函数内创建一个函数(如果需要,可以组成一个闭包),然后将其返回以供以后使用。 请参阅以下示例:

var bind = (function() {
    function B(){
        // do something
        return 42;
    }
    return B;
}());

bind(); // <-----bind is a B(), so invoke it will return 42

这可能会从立即函数中创建一个函数,并将其分配给bind变量,以便您以后可以调用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM