JS公共方法汇总

var common = { 
    /*
     * js克隆
     * ---------------------------------------------------------------
     * @obj    {任何类型}    需要克隆的对象
     */
    "clone" : function(obj) {
        var o;
        switch (typeof obj) {
            case 'undefined':
                break;
            case 'string':
                o = obj + '';
                break;
            case 'number':
                o = obj - 0;
                break;
            case 'boolean':
                o = obj;
                break;
            case 'object':
                if (obj === null) {
                    o = null;
                }
                else {
                    o = JSON.parse(JSON.stringify(obj));
                }
                break;
            default:
                o = obj;
                break;
        }
        return o;
    },

    /*
     * 阻止事件冒泡
     * ---------------------------------------------------------------
     */
    "stopEventPropagation" : function() {
        if (event.stopPropagation) {
            // this code is for Mozilla and Opera 
            event.stopPropagation();
        }
        else if (window.event) {
            // this code is for IE 
            window.event.cancelBubble = true;
        }
    },

    /*
     * 新建一个GUID(唯一标识)
     * ---------------------------------------------------------------
     */
    "newGuid" : function() {
        return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
            var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
            return v.toString(16);
        });
    },

    /*
     * 获取设备系统类型,主要区分ios与android
     * ---------------------------------------------------------------
     */
    "getDeviceOSType" : function() {
        var _return = "pc";

        var ua = navigator.userAgent.toLowerCase();
        if (/iphone|ipad|ipod/.test(ua)) {
            _return = "ios"
        }
        else if (/android/.test(ua)) {
            _return = "android"
        }

        return _return;
    },

    /*
     * 将字符串转换为UTF-8编码
     * ---------------------------------------------------------------
     * @text    {string}    原始字符串
     */
    "strToUtf8" : function(text) {
        var out, i, len, c;
        out = "";
        len = text.length;
        for (i = 0; i < len; i++) {
            c = text.charCodeAt(i);
            if ((c >= 0x0001) && (c <= 0x007F)) {
                out += text.charAt(i);
            }
            else if (c > 0x07FF) {
                out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
                out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
                out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
            }
            else {
                out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
                out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
            }
        }
        return out;
    }

调用:

//克隆一个对象
var _obj = common.clone(obj);

//阻止事件冒泡
common.stopEventPropagation();

//新建一个GUID
var _id = common.newGuid();

//获取设备系统类型
var _osType = common.getDeviceOSType();

//将字符串转换为UTF-8编码
var _str = common.strToUtf8(str);

后端返回的时间戳转化正常时间

/**
 * @param {
 *  stamp参数  字符串或者number类型时间戳10位或者13位长度
 * } 
 */
function Timestamp(stamp){
    // 判断是不是13位的时间戳格式
    if(stamp.length < 13){
        stamp = stamp*1000
    }else{
        stamp = stamp
    }
    let date = new Date(Number(stamp))
    // 获取年
    let year = date.getFullYear()

    // 获取月(月份为单位数前边补0)
    let month = date.getMonth()+1 > 9 ? date.getMonth()+1 : '0' + (date.getMonth()+1)

    // 获取日
    let day = date.getDate() > 9 ? date.getDate() : '0' + date.getDate()

    // 获取时

    let hour = date.getHours() > 9 ? date.getHours() : '0' + date.getHours()
    // 获取分

    let minute = date.getMinutes() > 9 ? date.getMinutes() : '0' + date.getMinutes()
    // 获取秒

    let second = date.getSeconds() > 9 ? date.getSeconds() : '0' + date.getSeconds()

    return year +'-'+ month +'-'+ day +' '+ hour +':'+ minute +':'+ second
}

获取某个时间是周几

/**
 * @param {*} 
 * date参数  某日期 
 */
function getWeek(date){
    return "星期" + "日一二三四五六".charAt(new Date(date).getDay()); 
}
console.log(getWeek('2018-11-8'))

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值