javascript 使用发生器功能代替正常功能是否安全?[关闭]

yk9xbfzb  于 12个月前  发布在  Java
关注(0)|答案(1)|浏览(109)

已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

6年前关闭。
Improve this question
yield不存在时,它们是相同的,当然在运行阶段不相同。

function* add(x, y) {
    return x + y;
}  

var it = add(2, 3); 

it.next();

字符串

function add(x, y){
    return x + y;
}

add(2, 3);

作为一种习惯,使用它们而不是正常功能安全吗?尽管性能。

klr1opcd

klr1opcd1#

它安全吗?
只要您的环境支持生成器函数(大多数遗留环境不支持),那么它肯定是“安全的”。如果您想支持遗留环境,那么您必须转移您的程序。
你没事吧?
如果是你的程序,而且只有你自己需要维护它,那就做你想做的吧。但是,如果你和其他人一起工作,或者发布一些东西供社区使用,那么其他程序员不可能在一个普通的函数调用(f(x))就足够了的情况下,对所有事情都使用生成器API(f(x).next().value
......尽管性能
这是否意味着你知道生成器的性能比普通函数差?我没有基准测试,但我估计生成器至少比普通函数慢10倍,如果不是更慢的话。
...因此,在这种情况下,无需切换
在未来的JavaScript中,永远不会有任何一个时候,每个人都回到他们的旧程序中,更新所有的函数来使用生成器。生成器有一组非常特定的用例,在普通函数可以很好地完成工作的情况下使用它们将是相当愚蠢的。

相关问题