常用方法
清空对象中的空值
toType(obj) {
return {}.toString
.call(obj)
.match(/\s([a-zA-Z]+)/)[1]
.toLowerCase()
},
filterNull(o) {
for (var key in o) {
if (o[key] === null || o[key] === '' || o[key] === undefined) {
delete o[key]
}
if (this.toType(o[key]) === 'string') {
o[key] = o[key].trim()
} else if (this.toType(o[key]) === 'object') {
o[key] = this.filterNull(o[key])
} else if (this.toType(o[key]) === 'array') {
o[key] = this.filterNull(o[key])
}
}
return o
},
去除数组中重复的对象
deleteEmptyObject(arr) {
// console.log('要去重的::', arr)
let obj = {}
arr = arr.reduce(function (item, next) {
obj[next.skuId] ? '' : (obj[next.skuId] = true && item.push(next))
return item
}, [])
return arr
},
Tomcat的认识&使用:
https://blog.csdn.net/weixin_60719453/article/details/122685752?utm_medium=distribute.pc_feed_blog_category.none-task-blog-classify_tag-17.nonecasedepth_1-utm_source=distribute.pc_feed_blog_category.none-task-blog-classify_tag-17.nonecase
js原生深拷贝
// 定义一个深拷贝函数 接收目标target参数
function deepClone(target) {
// 定义一个变量
let result;
// 如果当前需要深拷贝的是一个对象的话
if (typeof target === 'object') {
// 如果是一个数组的话
if (Array.isArray(target)) {
result = []; // 将result赋值为一个数组,并且执行遍历
for (let i in target) {
// 递归克隆数组中的每一项
result.push(deepClone(target[i]))
}
// 判断如果当前的值是null的话;直接赋值为null
} else if (target === null) {
result = null;
// 判断如果当前的值是一个RegExp对象的话,直接赋值
} else if (target.constructor === RegExp) {
result = target;
} else {
// 否则是普通对象,直接for in循环,递归赋值对象的所有值
result = {};
for (let i in target) {
result[i] = deepClone(target[i]);
}
}
} else {
// 如果不是对象的话,就是基本数据类型,那么直接赋值
result = target;
}
// 返回最终结果
return result;
}
题库:
zhuanlan.zhihu.com/p/267659458
js事件机制
1、先执行主线程
2、遇到宏队列放在宏队列
3、遇到微队列放在微队列
4、主线程执行完毕
5、执行微队列,执行完毕
6、执行一次宏队列中的一个任务,执行完毕
7、执行微队列,执行完毕
依次循环
可mock接口: autumnfish.cn/api/joke/li…
function rem() {
document.documentElement.style.fontSize = document.documentElement.clientWidth / 7.5 + 'px'
}
rem()
window.onresize = rem
html转义:
https://www.cnblogs.com/sexintercourse/p/14860296.html
handleNumber(num) {
// 保留两位小数,向上取整
let t = num * 100
return Math.ceil((t * 100).toFixed(1)) / 100
},