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函数中,才能做到这一点。如果这不是您想要的方式,您应该使用对象文字作为参数,而不是函数