javascript 常用方法

139 阅读1分钟

h获取时间戳:

let current=Date.now() || (new Date()).getTime();

hasClass方法:

var hasClass = function (e, c) {
		// re 是一个正则表达式
		// (^|\\s)是一个分组 ^ 直接开头 或者是以空格 \\s 第一个反斜杠为转义字符
		// (\\s|$)也是一个分组 $ 是直接结尾
		// p op kp
		var re = new RegExp("(^|\\s)" + c + "(\\s|$)");
		return re.test(e.className);
	};

addClass

var addClass = function (e, c) {
		if ( me.hasClass(e, c) ) {
			return;
		}
		// 将类名进行切割
		// 然后添加新的类名
		// 再拼接器类
		var newclass = e.className.split(' ');
		newclass.push(c);
		e.className = newclass.join(' ');
	};

removeClass

var removeClass=function(){
    var re = new RegExp("(^|\\s)" + c + "(\\s|$)", 'g');
   // 找到之后将其替换为空格
    e.className = e.className.replace(re, ' ');
}

获取到dom的offset对象

var offset = function(el){
		var left = -el.offsetLeft,
			top = -el.offsetTop;4
		// 循环迭代
		// 因为可能是层层定位的,
		// 所以要把el.offsetParent定位父级给当前的el
		// 再次计算定位位置
		while (el = el.offsetParent) {
			left -= el.offsetLeft;
			top -= el.offsetTop;
		}
		return {
			left: left,
			top: top
		};
	}

indexOf

if (!Array.prototype.indexOf) {
        Array.prototype.indexOf = function (elt /*, from*/) {
            var len = this.length >>> 0;
            var from = Number(arguments[1]) || 0;
            from = (from < 0)
                 ? Math.ceil(from)
                 : Math.floor(from);
            if (from < 0)
                from += len;
            for (; from < len; from++) {
                if (from in this &&
                    this[from] === elt)
                    return from;
            }
            return -1;
        };
    };

trim() 除去两边空白 兼容IE 但是会和ng起冲突

String.prototype.trim = function() {
	    return this.replace(/(^\s*)|(\s*$)/g,"");
	}

isInt()//是不是整数

String.prototype.isInt = function() {
	    if (this == "NaN")
	        return false;
	    return this == parseInt(this).toString();
	}

lastIndexOf()//反向查询匹配

String.prototype.lastIndexOf=function(item){
        var len=this.length;
        for(var i=len;i>=0;i--){
                if(this[i]===item){
                        return len-i;
                }
        }
        return -1;
   }