題目描述原文中,下列相關(guān)代碼部分提現(xiàn)柯里化函數(shù)的 提前返回和延遲執(zhí)行 兩大特點,并且這樣代碼中只需要判斷一次瀏覽器類型。我對于代碼的理解在于,每次實際調(diào)用addEvent的時候,代碼會進行一次函數(shù)執(zhí)行,然后if(window.addEventListener) { ... } 這個內(nèi)容還會進行一次瀏覽器判斷。感覺我的想法和作者的想法相悖了,所以我想問一下,為什么if(window.addEventListener)在實際應(yīng)用中只執(zhí)行一次。即使下次調(diào)用addEvent的時候,也不會進行瀏覽器判斷題目來源及自己的思路這是我在掘金上看到的一個案例,代碼在后面作者:小興nice鏈接:https://juejin.im/post/5b8350...來源:掘金著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。相關(guān)代碼var addEvent = (function() { if(window.addEventListener) { // 只判斷一次瀏覽器類型 return function(el, type, fn, capture) {
el.addEventListener(type, function(e) {
fn.call(el, e);
}, capture);
}
}else { return function(ele, type, fn) {
el.attachEvent('on' + type, function(e) {
fn.call(el, e);
})
}
}
})()
柯里化(curring)的實際運用
BIG陽
2018-09-08 09:54:34