HTML5新增了哪些内容或API
1.提供了一些新的html5标签,比如:<header> 、<nav>、<article>、<aside>、<footer>防抖和节流
防抖(debounce):当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。如果n秒内高频事件再次被触发,则重新计算时间
节流(throttle):高频事件触发,但在n秒内只会执行一次,所有节流会稀释函数的执行频率
const debounce = (fn, wait) => {
let timer = null;
return function () {
if (timer !== null) {
clearTimeout(timer);
}
timer = setTimeout(() => {
fn();
timer = null
}, wait);
};
};
const throttle = (fn, wait) => {
let prev = Date.now();
return function () {
if (Date.now() - prev >= wait) {
fn();
prev = Date.now();
}
};
};
- call、bind、apply
var name = '小王',
age = 17;
var obj = {
name: '小张',
objAge: this.age,
myFun: function (fm, t) {
console.log(this.name + '年龄' + this.age, '来自' + fm + '去往' + t);
},
};
var db = {
name: '德玛',
age: 99,
};
obj.myFun.call(db, '成都', '上海'); // 德玛 年龄 99 来自 成都去往上海
obj.myFun.apply(db, ['成都', '上海']); // 德玛 年龄 99 来自 成都去往上海
obj.myFun.bind(db, '成都', '上海')(); // 德玛 年龄 99 来自 成都去往上海
obj.myFun.bind(db, ['成都', '上海'])(); // 德玛 年龄 99 来自 成都, 上海去往 undefined
更新中...