躍然一笑
2023-09-28 10:14:16
我只是好奇為什么下面的函數(shù)工作得很好,盡管在它的定義中我們看不到任何定義的參數(shù)?對于剛?cè)腴T的 JS 開發(fā)人員來說,這似乎并不直觀。const add = () => { return num => { const result = num + 10; return `Calculated! ${result}`; };};const addFn = add()console.log(addFn(5)) // Calculated! 15
1 回答

桃花長相依
TA貢獻1860條經(jīng)驗 獲得超8個贊
你說對了一部分。add不接受任何爭論。如果您提供任何內(nèi)容,它們將被忽略。
但是當(dāng)你調(diào)用時add,你會得到這個函數(shù)
num => {
const result = num + 10;
return `Calculated! ${result}`;
}
如果將其單個參數(shù)括在括號中,則可能更容易將其識別為函數(shù):
(num) => {
const result = num + 10;
return `Calculated! ${result}`;
}
這個新函數(shù)(大概)接受一個數(shù)字,加 10,然后返回一個包含該結(jié)果的格式化字符串。
所以這:
const addFn = add()
只需將 的值賦值addFn為 的返回值add (),即我們上面描述的函數(shù)。
當(dāng)我們用 調(diào)用它時5,它返回涉及 的結(jié)果的格式化字符串10 + 5。
這樣是不是更清楚了?
添加回答
舉報
0/150
提交
取消