我试图在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中吗?我知道我实际上改变了数组,而不是函数,但我想知道这是否可能。
答案 0 :(得分:1)
没有。数组只保存对函数的引用,因此您无法使用数组访问器来替换整个函数。你的第一次尝试
fnOne = stub;
是正确的方法(虽然也是不好的做法)。