Javascript substr方法在某些浏览器下行为出现BUG的补丁代码
主要思路是使用兼容性和稳定性都保持一致的substring方法重写/覆盖substr
/** * String.substr() bug fix * @param start * @param len * @returns */ String.prototype.substr = function(start, len) { var str = this; var l = str.length; if(start >= l) return ‘‘; if(arguments.length == 1) { if(start >= 0 && start < l) return str.substring(start); if(start < -length) return str; if(start<0 && start >= -l) return str.substring(l + start); } if(len <= 0) return ‘‘; if(start >= 0 && start < l) { if(len > l - start) len = l - start; return str.substring(start, start + len); } if(start < -l) { if(len >= l) return str; return str.substring(0, len); } if(start<0 && start >= -l) { if(len >= -start) return str.substring(l+start); return str.substring(l+start, l+start+len); } return ‘‘; };
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。