Reu*_*ben 6 regex apache-flex string flash actionscript-3
使用起来会更快吗?
myString.replace(/foo/g,"bar")
Run Code Online (Sandbox Code Playgroud)
而不是
myString.split("foo").join("bar")
Run Code Online (Sandbox Code Playgroud)
对于ActionScript 3中的长字符串?或者他们只是两种可比的方法来实现相同的结果?
enz*_*uri 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
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Run Code Online (Sandbox Code Playgroud)
大卫R.引用博客Dirkgently链接:
string.split().join()构造是AS2天的剩余部分,其中没有string.replace().在AS3中,使用.split.join是没有意义的,只有那些没有学过新替换函数的人才可能使用它.
此外,根据该博客,时间差异似乎很小.所以,是的,替换应该是一个更清洁的方式来做到这一点.