使用它是否更快
myString.replace(/foo/g,"bar")
而不是
myString.split("foo").join("bar")
对于ActionScript 3中的长字符串?或者他们只是两种可比较的方法来实现相同的结果?
答案 0 :(得分:10)
我使用gSkinners PerformaceTest对此进行快速测试。我认为差异最小。我会说replace()
将是首选,因为这是你想要实现的目标。使用split().join()
的意图并不明确。
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Using replace() (10000 iterations)
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
method...................................................ttl ms...avg ms
[function] 57 0.01
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Using split().join() (10000 iterations)
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
method...................................................ttl ms...avg ms
[function] 61 0.01
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
答案 1 :(得分:5)
David R.引用博客Dirkgently链接:
string.split()。join()构造是 来自AS2天的剩余物,那里 没有string.replace()。在AS3中,它 使用.split.join是没有意义的, 只有没有学过的人 可能会有新的替换功能 使用它。
此外,根据该博客,时差似乎很小。所以,是的,替换应该是一种更清洁的方式。
答案 2 :(得分:2)
Here's一篇不错的博客文章。但你真的应该衡量哪个更快。