Stub函数在一个数组javascript中

时间:2016-07-19 08:39:32

标签: javascript

我试图在javascript中存根一组函数,通过直接更改实现,就像这样(假设fnOne和stub是函数):

fnOne = stub;

然而,这可以简化我希望将N个函数添加到数组中的代码,然后将它们全部存根,如下所示:

function fnOne() {return 'fnOne';}

function fnTwo() {return 'fnTwo';}

let fnArray = [fnOne, fnTwo];

function fnStub() {return 'stub';}

fnArray[0]()
"fnOne"

fnOne();
"fnOne"

fnArray[0] = fnStub()
"stub"

fnOne();
"fnOne" //I wanted to stub fnOne, that was in an array.

这可能在javascript中吗?我知道我实际上改变了数组,而不是函数,但我想知道这是否可能。

1 个答案:

答案 0 :(得分:1)

没有。数组只保存对函数的引用,因此您无法使用数组访问器来替换整个函数。你的第一次尝试

fnOne = stub;

是正确的方法(虽然也是不好的做法)。