Web前端面試題:寫一個mul函數


問題:寫一個mul函數調用時將生成以下輸出:

console.log(mul(2)(3)(4)); // output : 24

console.log(mul(4)(3)(4)); // output : 48

 

回答:時允

這個應該是題主想要的答案,支持任意次數調用。主要是考察了對遞歸的理解,和 valueOf 的使用。
function mul(x) { const result = (y) => mul(x * y); result.valueOf = () => x; return result; } 

console.log(mul(3))
-> 3
console.log(mul(3)(2))
-> 6
console.log(mul(3)(2)(4))
-> 24
console.log(mul(3)(2)(4)(5))
-> 120


作者:時允
鏈接:https://www.zhihu.com/question/54822257/answer/141260577
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM