[英]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.