为了账号安全,请及时绑定邮箱和手机立即绑定

return 语句中的 JavaScript 赋值

return 语句中的 JavaScript 赋值

波斯汪 2023-12-14 15:46:52
我遇到过一段类似这样的 JS 代码:let myFn = function(param) {    if (param > 5)        return param = 10; // <-- why?    return param;}这段代码有效,如果有人问我,我不会假设。但是,我认为以常规方式返回值没有什么区别:let p1 = 34;let p2 = 5;myFn(p1); // returns 10myFn(p2); // returns 5console.log(p1); // 34console.log(p2); // 5那么,问题是——这有什么原因吗?
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

,没有任何功能原因需要这样做。


由于 , 的结果param = 10确实是10,因此之间没有 功能差异;

return param = 10;
return 10;

对代码进行基准测试时,返回分配会减慢代码速度;100%99.46%


我可以想象开发人员选择此选项的唯一原因是让更多开发人员知道该函数正在返回 的新值param

因此,开发人员无需寻找函数调用,而是可以看到函数正在使用param10值覆盖变量。


查看完整回答
反对 回复 2023-12-14
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信