将自定义环境设置为函数

时间:2018-04-02 12:56:20

标签: javascript node.js

我正在尝试找到一种方法来为Node.JS中的函数设置自定义环境。

例如:

var context = { // Define env for the function
    foo: function(){
        return "bar"
    },
    test: function(arg){
        doThings(arg);
    }
}

var func = function(){ // Define the function
    test(foo());
}

setCustomEnv(func,context) // Inject the function into the function (and if possible run it)

1 个答案:

答案 0 :(得分:0)

仅当您将test(foo());更改为this.test(this.foo());

时才会有效
var context = { // Define env for the function
    foo: function(){
        return "bar"
    },
    test: function(arg){
        doThings(arg);
    }
}

var func = function(){ // Define the function
    this.test(this.foo());
}

然后你可以写:

func.call(context); 

这样func就会被称为conext的一部分。