File对象转base64 function getBase64(file) {

return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.readAsDataURL(file);
    reader.onload = () => resolve(reader.result);
    reader.onerror = error => reject(error);
});

}

不同时间显示不同的欢迎语 function welcomes() { let hour = (new Date).getHours();

let wel = "";

switch (true) {

    case hour === 1:
        wel = "凌晨1点了!该休息了!";
        break;
    case hour === 2:
        wel = "工作狂,还在忙嘛?";
        break;
    case hour === 3:
        wel = "午夜3点!你决定不睡觉了嘛??";
        break;
    case hour === 4:
        wel = "凌晨4点了,您的工作精神一定要上报党中央!";
        break;
    case hour === 5:
        wel = "5点多了,您是刚起床还是还没睡啊?";
        break;
    case hour === 6:
        wel = "早上好!新一天又开始啦!有什么打算呢?";
        break;
    case hour === 7:
        wel = "吃早饭了嘛?";
        break;
    case(hour === 8) || (hour === 9) || (hour === 10):
        wel = "祝您工作愉快!";
        break;
    case hour === 11:
        wel = "快中午啦,准备下班了嘛?";
        break;
    case hour === 12:
        wel = "中午好!你吃饭了嘛?";
        break;
    case(hour === 13) || (hour === 14):
        wel = "准备准备要上班了!";
        break;
    case(hour === 15) || (hour === 16) || (hour === 17):
        wel = "下午好!";
        break;
    case(hour === 18) || (hour === 19):
        wel = "该看新闻联播了!";
        break;
    case(hour === 20) || (hour === 21) || (hour === 22):
        wel = "休息下,找个电影看看睡觉吧?";
        break;
    case(hour === 23):
        wel = "不早了,快休息吧?";
        break;
    case(hour === 0):
        wel = "午夜时分,你可要注意身体呢!";
        break;
    default:
        wel = "生活还得继续,加油!";
        break;
}

return hour + ‘点了,’ + wel; }

限制函数调用次数 function transformer(func) { let i = 3; return function (…args) {

const context = this;
if (i > 0) {
  i--;
  return func.apply(context, args);
} else {
  return;
}

} }

深度判断不同对象是否一致 /判断对象是否一致/ function isObjectValueEqual(a, b) {

/*取对象a和b的属性名*/
var aProps = Object.getOwnPropertyNames(a);
var bProps = Object.getOwnPropertyNames(b);
/*判断属性名的length是否一致*/
if (aProps.length != bProps.length) {
    return false;
}
/*循环取出属性名,再判断属性值是否一致*/
for (var i = 0; i < aProps.length; i++) {
    var propName = aProps[i];
    if (a[propName] !== b[propName]) {
        return false;
    }
}
return true;

}

解析秒数所对应的时分秒数量 /**

  • 获取时分秒
  • @param {Number} seconds 总秒数
  • @param {String} dateFormat 返回的日期格式,默认为‘H:i:s’ */ function getSFM(seconds, dateFormat = ‘H:i:s’) { var obj = {}; obj.H = parseInt(Math.floor(seconds / 3600));/得到小时数/ obj.i = parseInt(Math.floor((seconds - obj.H * 3600) / 60)); obj.s = parseInt(Math.floor(seconds - obj.H * 3600 - obj.i * 60)); if (obj.H < 10) { obj.H = ‘0’ + obj.H; } if (obj.i < 10) { obj.i = ‘0’ + obj.i; } if (obj.s < 10) { obj.s = ‘0’ + obj.s; } /解析/ var rs = dateFormat.replace(‘H’, obj.H).replace(‘i’, obj.i).replace(‘s’, obj.s); return rs; }

JS对象转POST参数 /将对象转为url参数/ function urlEncode(param, key, encode) {

if (param == null) return '';
var paramStr = '';
var t = typeof (param);
if (t == 'string' || t == 'number' || t == 'boolean') {
    paramStr += '&' + key + '=' + ((encode == null || encode) ? encodeURIComponent(param) : param);
} else {
    for (var i in param) {
        var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i);
        paramStr += All.urlEncode(param[i], k, encode);
    }
}
return paramStr;

},

获取链接内GET参数的对象 /获取get参数的方法/ function getQueryVariable() {

let query = window.location.search.substring(1);
let key_values = query.split("&");
let params = {};
key_values.map(key_val => {
    let key_val_arr = key_val.split("=");
    params[key_val_arr[0]] = key_val_arr[1];
});
return params;

}

深度递归null转空字符串 /null转空字符串/

null2str(data) {
    if (typeof data != 'object' || data === null || data === 'null') {
        data = '';
        return data;
    } else {
        for (let x in data) {
            if (data[x] === null || data[x] === 'null') { /*如果是null 把直接内容转为 ''*/
                data[x] = '';
            } else {
                if (Array.isArray(data[x])) { /*是数组遍历数组 递归继续处理*/
                    data[x] = data[x].map(z => {
                        return null2str(z);
                    });
                }
                if (typeof (data[x]) === 'object') { /*是json 递归继续处理*/
                    data[x] = null2str(data[x])
                }
            }
        }
        return data;
    }
}

可编辑元素粘贴纯文本 /* 绑定元素的粘贴事件 */ function (e) {

   // 阻止默认粘贴
   e.preventDefault();
   // 粘贴事件有一个clipboardData的属性,提供了对剪贴板的访问
   // clipboardData的getData(fomat) 从剪贴板获取指定格式的数据
   var text = e.clipboardData.getData('text/plain');
   // 插入
   document.execCommand("insertText", false, text);

});

Object.create(null) Object.create(null)

传入null当做参数,创建的对象不会有原型,也不会有Object 原型对象的任何属性(例如toString,hasOwnProperty等)

Object.create(null)可以创建一个干净且高度可定制的对象当做数据字典,进行循环取用,可以提高循环效率。

如果对象有原型链,那便会在循环的时候去循环它的各个属性和方法,效率则会降低

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。