所以我想知道是否可以从范围外访问一个变量(它有一个函数的值)。我有这样的代码:函数内的javascript函数
function parentFunction(){
var childFunction = function() {
// do something
}
}
$(function(){
// need to access childFunction() here.
});
所以我想知道是否可以从范围外访问一个变量(它有一个函数的值)。我有这样的代码:函数内的javascript函数
function parentFunction(){
var childFunction = function() {
// do something
}
}
$(function(){
// need to access childFunction() here.
});
var childFunction;
function parentFunction(){
childFunction = function() {
// do something
}
}
$(function(){
childFunction();
});
我想,如果childFunction捕获parentFunction中的任何闭包,这很有用,但否则会失去命名空间并污染全局命名空间。 – Matt
假设这是发生在全球所有在一起,我只是说明范围... – jondavidjohn
它的工作 - 我只需要调用parentFunction首先初始化childFunction的值。然后我可以打电话给儿童功能。谢谢。 – donkapone
不,你不知道。实现这一目标的唯一方法是使所需childFunction parentFunction的属性:
var parentFunction = (function(){
var actualParentFunction = function(){
this.childFunction = function() {
// do something
};
}
return new actualParentFunction();
})();
在这一点上,你可以这样做:
parentFunction.childFunction();
可以'parentFunction()'返回'childFunction ()'变量在它的执行结束?或者你在调用'parentFunction()'之前试图影响'childFunction()'? – Rodaine