函数柯里化(currying)是一种编程技术,所做到的是:
应用场景:
var addEvent = function(ele, type, fn, isCapture) {
if(window.addEventListener) {
ele.addEventListener(type, fn, isCapture)
} else if(window.attachEvent) {
ele.attachEvent("on" + type, fn)
}
}
使用函数柯里化,返回一个方法,达到一次判断,多处使用的效果。
var addEvent = (function() {
if(window.addEventListener) {
return function(ele, type, fn, isCapture) {
ele.addEventListener(type, fn, isCapture)
}
} else if(window.attachEvent) {
return function(ele, type, fn) {
ele.attachEvent("on" + type, fn)
}
}
})()
<div onCick={handleClick( value )} />
<script>
handleClick = value => e => {
console.log( value, e )
}
</script>
useEffect 有两个参数,第一个是回调函数,第二个是数组类型参数
??useEffect(() => {
????// 相当于 componentDidMount
????window.addEventListener(‘resize‘, onChange, false)
?
????return () => {
??????// 相当于 componentWillUnmount
??????window.removeEventListener(‘resize‘, onChange, false)
????}
??}, [])
?
??useEffect(() => {
????// 相当于 componentDidUpdate
????document.title = count
??})
原文:https://www.cnblogs.com/peaky/p/fe-interview-2020-08.html