JS常用工具函数

深度克隆对象

function deepClone(values) {
    var copy;
    if (null == values || "object" != typeof values) return values;

    if (values instanceof Date) {
        copy = new Date();
        copy.setTime(values.getTime());
        return copy;
    }

    copy = (values instanceof Array) ? [] : {};
    Object.keys(values).forEach(key => {
        copy[key] = deepClone(values[key])
    })
    return copy;
}

日期格式化

function formatDate(date, format = 'Y-M-D h:m:s') {
  if (!date) return
  
  var d = new Date(date)
    , Y = d.getFullYear()
    , M = handle(d.getMonth() + 1)
    , D = handle(d.getDate())
    , h = handle(d.getHours())
    , m = handle(d.getMinutes())
    , s = handle(d.getSeconds())
    , o = { Y, M, D, h, m, s }
  return format.replace(/Y|M|D|h|m|s/g, k => {
    return o[k]
  })
}

获取文件后缀名

function getSuffix(file_name) {
    var result = /[^\.]+$/.exec(file_name);
    return result;
}

检测空对象

function isEmptyObject(obj) {
    if (!obj || typeof obj !== 'object' || Array.isArray(obj))
        return false
    return !Object.keys(obj).length
}

随机生成 n ~ m 位的字符串

function randomStr(minStr, maxStr) {
  var len = (Math.random() * (maxStr - minStr) + minStr) | 0,
    $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz0123456789',
    ret = '', l = $chars.length
  while(len--) {
    ret += $chars[Math.random() * l | 0]
  }
  return ret
}

随机生成颜色

function randomColor() {
    return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).slice(-6);
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值