I\'ve played with jsperf.com and found that prototyped function is 40x slower than \"default\" declared function.
String.prototype.contains =
Odds are very good that you're replacing a primitive function implemented in C/machine code with a JavaScript body in the monkey-patched version.