return 语句中的 JavaScript 赋值

我遇到过一段类似这样的 JS 代码:


let myFn = function(param) {

    if (param > 5)

        return param = 10; // <-- why?

    return param;

}

这段代码有效,如果有人问我,我不会假设。但是,我认为以常规方式返回值没有什么区别:


let p1 = 34;

let p2 = 5;


myFn(p1); // returns 10

myFn(p2); // returns 5

console.log(p1); // 34

console.log(p2); // 5

那么,问题是——这有什么原因吗?


波斯汪
浏览 112回答 1
1回答

翻翻过去那场雪

不,没有任何功能原因需要这样做。由于 , 的结果param = 10确实是10,因此之间没有&nbsp;功能差异;return&nbsp;param&nbsp;=&nbsp;10; return&nbsp;10;在对代码进行基准测试时,返回分配会减慢代码速度;100%与99.46%。我可以想象开发人员选择此选项的唯一原因是让更多开发人员知道该函数正在返回 的新值param。因此,开发人员无需寻找函数调用,而是可以看到函数正在使用param新10值覆盖变量。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript