
获得徽章 0
- #IE11下mathjs计算工具踩坑#。
官网:mathjs.org
在使用math.round(num, accuracy)时,若传入的num类型为字符串如'12.23',
1.chrome浏览器返回值正常,是一个四舍五入后的数字
2. 但在ie11下会返回一个对象。
规范传入第一个参数为number类型,可避免此问题。展开评论点赞 - Javascript 防抖:
const debounce = (fn, delay) => {
let timer = null;
return () => {
if ( timer !== null ) {
clearTimeout(timer);
}
timer = setTimeout(fn, delay);
}
}
const handle = () => {
//do something...
console.log(Math.random());
}
window.addEventListener('scroll', debounce(handle, 1000));展开赞过评论1 - Javascript 节流:
时间戳的方式实现:
const throttle = (fn, delay) => {
let prev = Date.now();
return () => {
let now = Date.now();
if( now - prev >= delay ) {
fn();
prev = Date.now();
}
}
}
定时器的方式实现:
const throttle = (fn, delay) => {
let timer = null;
return () => {
if (!timer) {
timer = setTimeout(() => {
fn();
timer = null;
}, delay);
}
}
}
const handle = () => {
//do something...
console.log(Math.random());
}
window. addEventListener('scroll', debounce(handle, 1000));展开赞过评论1 - Javascript 防抖:
const debounce = (fn, delay) => {
let timer = null;
return () => {
if ( timer !== null ) {
clearTimeout(timer);
}
timer = setTimeout(fn, delay);
}
}
const handle = () => {
//do something...
console.log(Math.random());
}
window.getElementById('Id').
addEventListener('scroll', debounce(handle, 1000));展开评论点赞