gpt4 book ai didi

javascript - 我不需要相关函数的返回值,哪种方法在系统运行时更快,是否使用返回值?

转载 作者:行者123 更新时间:2023-11-30 06:50:27 25 4
gpt4 key购买 nike

我不需要相关函数的返回值,哪种方法在系统运行时更快:以无值返回结束函数或不在任何地方使用返回?

使用不带任何值的返回:

function saveData(save){
save(newData);

return; //return without any value
}


不在任何地方使用 return:

function saveData(save){
save(newData);

//There is no return anywhere
}


虽然没有具体的速度差异,但此信息在大规模使用时会有用。

最佳答案

简答:明确返回短循环(1000 次迭代)会更快。但是,如果您的循环迭代 100000 次,那么不从函数返回会更快。

我使用 JSBEN.CH 运行了 Javascript 基准测试

var sum = 0;
for(var i=0; i<1000; i++) {
sum += is_even(i) ? 1: 0;
}
console.log(sum);

函数 is_even() 定义在这里:

不返回

function is_even(n) {
if(n%2==0) { return true; }
// no return if n is odd.
// default return is undefined
}

返回;

function is_even(n) {
if(n%2==0) { return true; }
return;
}

测试报告(带返回) block 更快。

Comparison result

然后我增加了for循环中的迭代次数,得到了相反的结果。

var sum = 0;
for(var i=0; i<100000; i++) {
sum += is_even(i) ? 1: 0;
}
console.log(sum);

在那种情况下,基准测试工具报告该函数没有返回;更快。

关于javascript - 我不需要相关函数的返回值,哪种方法在系统运行时更快,是否使用返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53645543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com