以下场景往往由于事件频繁被触发,因而频繁执行DOM操作、资源加载等重行为,导致UI停顿甚至浏览器崩溃:
window
对象的resize
、scroll
事件拖拽时的
mousemove
事件射击游戏中的
mousedown
、keydown
事件文字输入、自动完成的
keyup
事件
所以为了解决这些问题我们就可以引入函数节流(Throttle
) & 函数防抖(Debounce
)的概念,同时也是闭包的一个用途
以下场景往往由于事件频繁被触发,因而频繁执行DOM操作、资源加载等重行为,导致UI停顿甚至浏览器崩溃:
window
对象的resize
、scroll
事件
拖拽时的mousemove
事件
射击游戏中的mousedown
、keydown
事件
文字输入、自动完成的keyup
事件
所以为了解决这些问题我们就可以引入函数节流(Throttle
) & 函数防抖(Debounce
)的概念,同时也是闭包的一个用途
以前看js都是云里雾里的,后来学了一些Java感觉稍微能看懂一些,恰逢又回头看到了以前关于js在有道云上的一些笔记,决定做一个关于map和reduce的分析
对于类型判断我们很多人都知道null
和instanceof
这两个方法。但是同时这两个原生自带的方法也有自己的局限性。
typeof
对于基本类型,除了null
都可以正确显示
typeof 1 // ‘number’
typeof ‘1’ // ‘string’
typeof undefined // ‘undefined’
typeof true // ‘boolean’
typeof Symbol() // ‘symbol’
typeof b // b 没有声明,但是还会显示 undefined
而对于对象,除了函数都会显示object
typeof [] // ‘object’
typeof {} // ‘object’
typeof console.log // ‘function’
而instanceof
则大多用在继承那一章节中对实例是否从属于某个类进行判断。
下面我们来谈一谈他们的机制8~