[英]How to make a function that can be called in other functions in Cloud Functions?
[英]How can functions be called as an argument for a function?
使這個問題浮現在我腦海(並且我試圖理解)的代碼是:
function sum(numbers) {
var total = 0;
forEach(numbers, function (number) {
total += number;
});
return total;
}
show(sum([1, 10, 100]));
ps forEach是執行以下操作的函數:
function forEach(array, action) {
for (var i = 0; i < array.length; i++)
action(array[i]);
}
我想解釋一下上面的代碼是如何工作的,因為我不明白如何將函數作為函數的參數調用。
我最擔心的是如何將函數作為函數的參數調用。
參數中未調用它-函數本身已傳遞。 在JavaScript中,函數是一等值 ; 它們是可以用括號調用的對象,但它們也具有常規屬性(如.prototype
或.name
)和繼承的方法(如.call
, .bind
)。 看一下Function
對象的文檔 。
您的sum
代碼正在創建一個匿名函數,並將對它的引用傳遞到存儲在action
變量中的forEach
函數中。 然后從那里調用它。
將函數傳遞給另一個方法確定的值進行調用的概念稱為回調 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.