js实现endwith
检查字符串是否以指定后缀结尾
在JavaScript中,没有内置的endWith方法,但可以通过以下方式实现类似功能:
String.prototype.endWith = function(suffix) {
return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
使用示例
let str = "Hello World";
console.log(str.endWith("World")); // true
console.log(str.endWith("world")); // false
更严谨的实现方式
考虑大小写敏感性的实现:

String.prototype.endWith = function(suffix, ignoreCase) {
var str = this;
if (ignoreCase) {
str = str.toLowerCase();
suffix = suffix.toLowerCase();
}
return str.length >= suffix.length &&
str.slice(str.length - suffix.length) === suffix;
};
ES6实现方式
使用现代JavaScript语法:
const endWith = (str, suffix) => str.endsWith(suffix);
注意:ES6已经原生提供了String.prototype.endsWith()方法,可以直接使用:

'Hello World'.endsWith('World'); // true
性能优化版本
对于大量字符串操作,可以考虑:
String.prototype.endWith = function(suffix) {
var len = suffix.length;
return this.length >= len &&
this.lastIndexOf(suffix) === this.length - len;
};
兼容性处理
如果需要兼容旧浏览器:
if (!String.prototype.endsWith) {
String.prototype.endsWith = function(search, this_len) {
if (this_len === undefined || this_len > this.length) {
this_len = this.length;
}
return this.substring(this_len - search.length, this_len) === search;
};
}






