javascript - javascript 数组中的 stub 函数

标签 javascript

我试图通过直接更改实现来在 javascript 中 stub 一组函数,如下所示(假设 fnOne 和 stub 是函数):

fnOne = stub ;

但是,为了简化代码,我想将 N 个函数添加到数组中,然后将它们全部 stub ,如下所示:

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/

相关文章:

javascript - jQuery Mobile 1.4.5 - 导航到动态创建的页面时出错

javascript - "message"使用 postMessage 时未触发事件

javascript - 如何将数组对象保存到 Chrome 本地存储中

javascript - 如何使用 rewirejs 和 chai-spies 模拟函数来测试它?

javascript - css position 伪元素堆叠

javascript - React 路由器更改链接 url 但不显示组件

php - textarea根据内容js或jquery设置高度

javascript - 在 Mac 上从本地文件 + JS 加载 webView 时进行缓存

javascript - HTML5 音频 - 进度条

javascript - 如何在没有 TURN 服务器的情况下使用 WebRTC 绕过 NAT?