我试图通过直接更改实现来像这样在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中吗?我知道我实际上是在改变数组,而不是函数,但是我想知道这是否有可能。

最佳答案

否。数组仅保存对函数的引用,因此您不能使用数组访问器替换整个函数。您的首次尝试

fnOne = stub;


是正确的方法(尽管也有不好的做法)。

关于javascript - 数组JavaScript中的 stub 函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38453455/

10-09 16:39