节流
const throttle = (fn, time) => {
let aaa = false
return (...args) => {
if(aaa) retur
fn.call(undefined, ...args)
aaa = true
setTimeout(()=>{
aaa = false
}, time)
}
}
const f = throttle(()=>{console.log('hi')}, 3000)
f()
防抖
const debounce = (fn, time) => {
let aaa = null
return (...args)=>{
if(aaa !== null) {
clearTimeout(aaa)
}
aaa = setTimeout(()=>{
fn.call(undefined, ...args)
aaa = null
}, time)
}
}
AJAX
const ajax = (method, url, data, success, fail) => {
const request = new XMLHttpRequest()
request.open(method, url);
request.onreadystatechange = function () {
if(request.readyState === 4) {
if(request.status >= 200 && request.status < 300 ) {
success(request)
}else{
fail(request)
}
}
};
request.send();
}