gpt4 book ai didi

javascript - 循环到单个语句

转载 作者:行者123 更新时间:2023-11-29 10:09:00 24 4
gpt4 key购买 nike

在我们的一个应用程序中,我们有以下几行:

while (text.indexOf(' ') !== -1)
text = text.replace(' ', '_');
while (text.indexOf('*') !== -1)
text = text.replace('*', 'x');

据我所知,我也可以这样写来避免循环:

text = text.replace(/ /g, '_');
text = text.replace(/*/g, 'x');

这两个版本中哪个是更好的编程风格?这两者之间有什么区别(性能、结果、错误……)吗?我们是否必须尽可能避免循环?

最佳答案

我注意到使用正则表达式会使新的(新手/没有经验的)开发人员感到困惑。因此,他们会发现第一个选项更容易阅读和理解它在做什么。

然而,第二个选项是:

  • 简短明了,也易于阅读(前提是您熟悉正则表达式);
  • 理论上它应该更快,因为您让 native 代码完成所有繁重的工作,而不是要求它解释循环代码并重新分配字符串变量。但是,正则表达式有一些开销可能会导致效率低下。但是,它不适用于(明显的)现实生活场景,尤其是在这种情况下。

至于错误,如果您在正则表达式字符串中没有犯任何错误,它不会抛出任何错误。具有讽刺意味的是,你做到了(你应该转义特殊字符 *)。所以,这是选择选项 1 的原因之一 :)

text.replace(/\*/g, 'x');

关于javascript - 循环到单个语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37159645/

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