I've played with jsperf.com and found that prototyped function is 40x slower than "default" declared function.
String.prototype.contains = function(s){ return !!~this.indexOf(s) }
= 220K ops/s
vs.
function isContains(str, s) { return !!~str.indexOf(s) }
= 8.5KK ops/s
P.S. I know that prototype modification isn't the best case and can be named 'monkey patching' :)