我的应用是一台本地服务器,每秒接收 2/3次请求。
在每个请求中,它存储和更新数据,处理一些计算,更新视图(反应),......
我想知道什么更快,当我必须使用闭包时:
只需创建我需要的功能:
var parentValue = 'ok';
randomAsyncFunction(function() {
console.log(parentValue);
}
创建一个"全球"函数然后将回调绑定到所需的值:
function testCallback(value) {
console.log(value);
}
var parentValue = 'ok';
randomAsyncFunction(testCallback.bind(undefined, parentValue));
注意:这些伪代码将每秒执行2/3次。对于第二个示例,testCallback
函数将被创建一次,并且将调用绑定而不是重新创建函数。
那么,使用第二个例子是好还是坏?
答案 0 :(得分:1)
bind
和闭包函数表达式都会创建一个新的函数对象。他们在表现上的差异可以忽略不计。如果您真的非常关心,请使用实际代码和实际数据运行基准测试,以了解哪种解决方案更快。
在您的情况下,您应该只关心哪种解决方案更具可读性和可维护性。没有一个比另一个更好或更差,你必须自己决定哪一个更好。