所以我想在 Javascript 中復制 ?? 函式/操作。
對于不熟悉它的人,這里有一個例子:

上面顯示的操作將轉換為這樣的 Javascript 代碼:
var sum = 0;
for (var n = 1; n <= 10; n ) {
sum = n ** 2;
}
現在我想把它包裝成一個函式,每次迭代應該做的操作將作為一個函式傳遞。所以上面的例子會像這樣傳遞:
??(1, 10, n => n ** 2)
function ??(start, end, func) {
var sum = 0;
for (var i = start; i <= end; i ) {
sum = func();
}
return sum;
}
但是,上面的示例回傳NaN是因為傳遞的變數沒有使用 for 回圈的迭代器。有沒有辦法做到這一點?
uj5u.com熱心網友回復:
您沒有將迭代值傳遞給回呼func:
for (var i = start; i <= end; i ) {
sum = func(i); // you have to pass it in so func knows how to func
}
uj5u.com熱心網友回復:
但是為什么我們需要 func() 呢?我猜這也很好用。它輸出相同的答案 385。
function ??(start, end){
let sum = 0;
for (let n = start; n <= end; n ) {
sum = n ** 2;
}
return sum;
}
alert(??(1, 10));
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/364983.html
標籤:javascript 功能
上一篇:為什么控制臺日志顯示已定義的變數
下一篇:來自物件的鍵和值的打字稿引數
