哪个更快:
if (var == 'value')
或
if (/value/.test(var))
if(var == 'value')
。好多了。但如果你真的想要快,做if(var === 'value')
。严格等价比类型强制等价要做的工作少得多。
if (a == 'b')
将比if (/b/.test(a))
更快,但它们不是相同的调用。
'something' == 'some'
为false
, /some/.test('something')
为true
。
从一个转换到另一个的唯一原因是如果另一个更合适。如果您担心速度,在担心特定的if
语句之前,对脚本进行基准测试并检查瓶颈在哪里。
不是很大的速度差异,但前者绝对更具可读性,更有意义…
http://jsperf.com/string-vs-regex-test/2