首页 > Web开发 > 详细

Javascript substr方法在某些浏览器下行为出现BUG的补丁代码

时间:2014-01-17 00:32:53      阅读:446      评论:0      收藏:0      [点我收藏+]

主要思路是使用兼容性和稳定性都保持一致的substring方法重写/覆盖substr

bubuko.com,布布扣
/**
 * 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 ‘‘;
};
bubuko.com,布布扣

Javascript substr方法在某些浏览器下行为出现BUG的补丁代码

原文:http://www.cnblogs.com/xboy2012/p/js_substr_bug_fix.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!