Javascript 在函数内调用变量
我有一个类似这样的函数:Javascript 在函数内调用变量,javascript,Javascript,我有一个类似这样的函数: var func1 = function () { var apple; //Some other code }; 我已经将该函数作为其他函数的参数传递 control(func); 现在,我想访问控制函数中的变量apple功能1.apple不工作。有人知道这是如何做到的吗?如果不更改函数,就不可能使用这种语法func1.apple不运行apple,类似func1()的东西。apple应该已经运行apple。如果您只想返回某些内容,请使用
var func1 = function () {
var apple;
//Some other code
};
我已经将该函数作为其他函数的参数传递
control(func);
现在,我想访问控制函数中的变量apple<代码>功能1.apple不工作。有人知道这是如何做到的吗?如果不更改函数,就不可能使用这种语法
func1.apple
不运行apple
,类似func1()的东西。apple
应该已经运行apple
。如果您只想返回某些内容,请使用return
:
var func1 = function() {
var apple;
…
return apple;
};
var apple = func1();
或者,如果要返回多个值,则返回一个对象:
var func1 = function() {
var apple;
…
return {apple: apple};
};
var apple = func1().apple;
如果在函数运行期间需要该值,则实现此目的的唯一*方法是在回调中使用另一个回调:
var func1 = function(useApple) {
var apple;
…
useApple(apple);
…
};
func1(function(apple) {
// Do something with apple
});
*属性是另一种方式,但它们被视为回调,是邪恶的:)我认为您可能在寻找构造函数模式
var func1 = function () {
this.apple = "My Apple";
};
var myFuncInstance = new func1();
myFuncInstance.apple; // "My Apple"
我认为只有将returnapple语句添加到param函数中,才能做到这一点。如果这不是您想要的方式,您应该使用对象文字作为参数,而不是函数