1、n-m之间的随机数
function numRandom(n, m) {
if (n > m) {
return parseInt(m + Math.random() * (n - m + 1));
} else {
return parseInt(n + Math.random() * (m - n + 1));
}
}
2、时间过滤器 yyyy-mm-dd hh:mm:ss
filters = (data) =>{
var time = new Date(data);
var timeStr = time.getFullYear()+"-"+
(time.getMonth()+1).toString().padStart(2,"0")+"-"+
time.getDate().toString().padStart(2,"0")+ " "+
time.getHours().toString().padStart(2,"0")+":"+
time.getMinutes().toString().padStart(2,"0")+":"+
time.getSeconds().toString().padStart(2,"0");
return timeStr;
}
function formatDate(date) {
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
// return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
return year + '-' + (String(month).length > 1 ? month : '0' + month) + '-' +
(String(day).length > 1 ? day : '0' + day) + ' ' + (String(hour).length > 1 ? hour : '0' + hour) + ':' + (String(minute).length > 1 ? minute : '0' + minute)
+ ':' + (String(second).length > 1 ? second : '0' + second)
}
//如果记得时间戳是毫秒级的就需要*1000 不然就错了记得转换成整型
var d = new Date(); //Tue Mar 26 2019 05:00:00 GMT+0800 (中国标准时间)
console.log(formatDate(d)) //2019-03-26 05:00:00
3、返回顶部通用方法
function backTop(btnId) {
var btn = document.getElementById(btnId);
var d = document.documentElement;
var b = document.body;
window.onscroll = set;
btn.style.display = "none";
btn.onclick = function () {
btn.style.display = "none";
window.onscroll = null;
this.timer = setInterval(function () {
d.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);
b.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);
if (d.scrollTop + b.scrollTop == 0)
clearInterval(btn.timer, (window.onscroll = set));
}, 10);
};
function set() {
btn.style.display = d.scrollTop + b.scrollTop > 100 ? "block" : "none";
}
}
backTop("goTop");
// 给按钮绑定一个click事件,点击按钮时,返回顶部
$('#goToTop a').click(function(){
$('html ,body').animate({scrollTop: 0}, 300);
return false;
});
$("div").scrollTop(0)
对象Object构造方法
Object.assign()
将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。
Object.create()
用指定的原型对象和属性创建一个新对象。
Object.defineProperty()
将给定描述符描述的命名属性添加到对象。
Object.defineProperties()
将给定描述符描述的命名属性添加到对象。
Object.entries()
返回一个包含[key, value]
给定对象自己的可枚举字符串属性的所有对的数组。
Object.freeze()
冻结对象。其他代码无法删除或更改其属性。
Object.fromEntries()
从可迭代的[key, value]
对中返回一个新对象。(这是的反向 Object.entries
)。
Object.getOwnPropertyDescriptor()
返回对象的命名属性的属性描述符。
Object.getOwnPropertyDescriptors()
返回一个包含对象自身所有属性描述符的对象。
Object.getOwnPropertyNames()
返回一个数组,其中包含给定对象自己的所有可枚举和不可枚举属性的名称。
Object.getOwnPropertySymbols()
返回直接在给定对象上找到的所有符号属性的数组。
Object.getPrototypeOf()
返回prototype
指定对象的。
Object.is()
比较两个值是否相同。求所有NaN
值(不同于“抽象相等比较”和“严格相等比较”)。
Object.isExtensible()
确定是否允许扩展对象。
Object.isFrozen()
确定对象是否冻结。
Object.isSealed()
确定对象是否密封。
Object.keys()
返回一个数组,其中包含给定对象自己的所有可枚举字符串属性的名称。
Object.preventExtensions()
防止对象的任何扩展。
Object.seal()
防止其他代码删除对象的属性。
Object.setPrototypeOf()
设置对象的原型(其内部[[Prototype]]
属性)。
Object.values()
返回一个数组,该数组包含与给定对象自己的所有可枚举字符串属性相对应的值。
更改数组对象中属性的参数名:
let data1 = [
{ appName: "应用1", capacity: 233456 },
{ title: "应用2", key: 124535 }
];
let data2 = [];
data1.forEach(item => {
data2.push({
name: item.appName || item.title,
value: item.capacity || item.key
});
});
console.log(data2)
参考文章:https://www.cnblogs.com/joe235/p/13679218.html
对里面的内容进行了一些修改和补充,有问题请联系修正,Thanks♪(・ω・)ノ
未完待续~