掘友等级
获得徽章 7
#1024一起掘金# 只要抽奖,那必是谢谢参与,安心当好分母
#每天一个知识点#
如果只想显示error信息,忽略warning,可以配置webpack->devServer->client->overlay属性,将其设置成{errors: true, warnings: false}即可
#每天一个知识点#
常用CSS代码之文本溢出省略显示:
{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#每天一个知识点#
可以使用:has()伪类选择器代替JS逻辑实现父选择效果(除火狐外都兼容)
#每天一个知识点#
常用的几种深拷贝方法:
1. JSON.parse(JSON.stringify(data))
2. lodash的cloneDeep方法
3. ES6的Object.assign()
4. 递归实现
#每天一个知识点#
分享一个颜色转换方法2.0(RGB转换为16进制)
const hexify = color => {
let values = color
.replace(/rgba?\(/, '')
.replace(/\)/, '')
.replace(/[\s+]/g, '')
.split(',');
let a = parseFloat(values[3] || 1),
r = Math.floor(a * parseInt(values[0]) + (1 - a) * 255),
g = Math.floor(a * parseInt(values[1]) + (1 - a) * 255),
b = Math.floor(a * parseInt(values[2]) + (1 - a) * 255);
return "#" +
("0" + r.toString(16)).slice(-2) +
("0" + g.toString(16)).slice(-2) +
("0" + b.toString(16)).slice(-2);
}
#每天一个知识点#
分享一个颜色转换方法(16进制转换为RGB)
const hex2rgb = (hex) =>
hex
.replace(
/^#?([a-f\d])([a-f\d])([a-f\d])$/i,
(_, r, g, b) => `#${r}${r}${g}${g}${b}${b}`
)
.substring(1)
.match(/.{2}/g)
.map((x) => parseInt(x, 16));
#每天一个知识点#
推荐一个VSCode正则插件:any-rule
包含日常开发常用正则,目前有84条,可自行PR。
#每天一个知识点#
较低版本IE浏览器不支持a标签download属性可以使用Navigator.msSavaBlob()方法下载文件
#每天一个知识点#
JS浮点数运算精度问题解决方法:
1. 指定精度四舍五入:parseFloat(num.toFixed(12))
2. 小数转整数再做除法:0.1+0.2=(1+2)/10
3. 转化为字符串模拟实际运算过程
下一页