Here you can find the source of endsWith(needle)
String.prototype.endsWith = function(needle) { return this.slice(-needle.length) == needle; }
String.prototype.endsWith = function( str ) { if( str.length > this.length ) { return false; return( String( this ).substr( this.length - str.length, this.length ) == str ); };
String.prototype.endsWith = function( value, ignoreCase ) var L1 = this.length ; var L2 = value.length ; if ( L2 > L1 ) return false ; if ( ignoreCase ) var oRegex = new RegExp( value + '$' , 'i' ) ; ...
String.prototype.endsWith = function(end) { return this.indexOf(end) == this.length-end.length; };
String.prototype.endsWith = function(end) { if(end == '') return true; else if(end == null || end.length > this.length) return false; else return this.indexOf(end, this.length - end.length) !== -1;
String.prototype.endsWith = function (matchstring) { return reverse(this).startsWith(reverse(matchstring));
String.prototype.endsWith = function(pattern) { var d = this.length - pattern.length; return d >= 0 && this.lastIndexOf(pattern) === d; };
String.prototype.endsWith = function(pattern) { return (this.substr(this.length - pattern.length, pattern.length) == pattern); };
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; };