JavaScript Performance: Como o loop através de um array e a verificação de cada valor é mais rápido do que indexOf, search and match?

Isso foi uma grande surpresa para mim e gostaria de entender esse resultado. Eu fiz umteste em jsperf basicamente, é suposto ter uma string (que é parte de uma URL que gostaria de verificar) e verifica a presença de 4 itens (que estão, de fato, presentes na string).

Ele verifica de 5 maneiras:

indexOf simples;Divida a string e, em seguida, indexOf;pesquisa de regex;correspondência de regex;Dividir a string, percorrer a matriz de itens e, em seguida, verificar se algum deles corresponde às coisas que devem corresponder

Para minha surpresa,número 5 é o mais rápido no Chrome 21. Isso é o que eu não posso explicar.

No Firefox 14, o indexOf simples é o mais rápido, aquele em que posso acreditar.

questionAnswers(2)

yourAnswerToTheQuestion