Here you can find the source of endsWith(s)
String.prototype.endsWith = function(s) { return this.length >= s.length && this.substr(this.length - s.length) == s; }
String.prototype.endsWith = function(pattern) { return (this.substr(this.length - pattern.length, pattern.length) === pattern); };
String.prototype.endsWith = function(pattern) { var d = this.length - pattern.length; return d >= 0 && this.lastIndexOf(pattern) === d; };
String.prototype.endsWith = String.prototype.endsWith || function ( pattern ) { var d = this.length - pattern.length; return d >= 0 && this.indexOf(pattern, d) === d;
String.prototype.endsWith = function(pattern, caseSensitive) { var d, s; if (caseSensitive) { d = this.length - pattern.length; return d >= 0 && this.lastIndexOf(pattern) === d; } else { s = this.toLowerCase(); pattern = pattern.toLowerCase(); d = s.length - pattern.length; ...
String.prototype.endsWith = function(prefix){ return this.substr(this.length - prefix.length) === prefix; };
String.prototype.endsWith = function(s){ return this.indexOf(s) == this.length - s.length; };
String.prototype.endsWith = function(s){ var d = this.length - s.length; return d >= 0 && this.lastIndexOf(s) === d;
String.prototype.endsWith=function(s) return this.substring(this.length-s.length)==s; };
String.prototype.endsWith = function(s, i) { if(i) { return s.toLowerCase() == this.substring(this.length - s.length).toLowerCase() } return s == this.substring(this.length - s.length) };