哪个更快:if(var =='value')或if(/value/.test(var))

时间:2011-12-21 18:44:28

标签: javascript performance

哪个更快:

if (var == 'value')

if (/value/.test(var))

3 个答案:

答案 0 :(得分:8)

if(var == 'value')。很多。但如果你真的想要快,请if(var === 'value')。与类型强制等效相比,严格等效的工作要少得多。

答案 1 :(得分:6)

if (a == 'b')会比if (/b/.test(a))更快,但它们不是相同的电话。

'something' == 'some'false,而/some/.test('something')true

如果对方更合适,唯一的理由是从一个改为另一个。如果您担心速度,请先对脚本进行基准测试,然后检查瓶颈在哪里,然后再担心特定的if声明。

答案 2 :(得分:1)

不是一个巨大的速度差异,但前者肯定更具可读性,更有意义......

http://jsperf.com/string-vs-regex-test/2