一些封装好的常用JavaScript方法(上)

一些封装好的常用JavaScript方法(上)

  1. 函数柯理化
function curryItem(func) {
    var length = func.length,
        args = [];
    var result = function (arg) {
        args.push(arg);
        length--;
        if (length <= 0) {
            return func.apply(this, args);
        } else {
            return result;
        }
    }
    return result;
}
  1. 时间格式化
function formatDate(time, str) {
    var obj = {
        yyyy: time.getFullYear(),
        yy: ("" + time.getFullYear()).slice(-2),
        M: time.getMonth() + 1,
        MM: ("0" + (time.getMonth() + 1)).slice(-2),
        d: time.getDate(),
        dd: ("0" + time.getDate()).slice(-2),
        H: time.getHours(),
        HH: ("0" + time.getHours()).slice(-2),
        h: time.getHours() % 12,
        hh: ("0" + time.getHours() % 12).slice(-2),
        m: time.getMinutes(),
        mm: ("0" + time.getMinutes()).slice(-2),
        s: time.getSeconds(),
        ss: ("0" + time.getSeconds()).slice(-2),
        w: ['天', "一", '二', "三", '四', "五", '六'][time.getDay()]
    };
    return str.replace(/([a-z]+)/ig, function ($1) {
        return obj[$1]
    });
}
  1. 获取 url 上的参数
function getUrlParam(sUrl, sKey) {
    var result = {};
    sUrl.replace(/(\w+)=(\w+)(?=[&|#])/, function (element, key, value) {
        if (!result[key]) {
            result[key] = value;
        } else {
            var temp = result[key];
            result[key] = [].concat(temp, value);
        }
    })
    if (!sKey) {
        return result;
    } else {
        return result[sKey] || '';
    }
}
  1. 防抖
function debounce(handle, delay) {
    var timer = null;
    return function () {
        var _self = this,
            _args = arguments;
        clearTimeout(timer);
        timer = setTimeout(function () {
            handle.apply(_self, _args)
        }, delay)
    }
}
  1. 节流
function throttle(handler, wait) {
    var lastTime = 0;
    return function (e) {
        var nowTime = new Date().getTime();
        if (nowTime - lastTime > wait) {
            handler.apply(this, arguments);
            lastTime = nowTime;
        }
    }
}

这里是万物之恋,我们下次再见了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值