簡體   English   中英

如何將 arguments 從 javascript function 傳遞給另一個 ZC1C425268E68385D1AB5074C17A94F 而不調用它?

[英]How to pass arguments from a javascript function to another function without calling it?

我試圖在計算后將變量從 function 傳遞到另一個 function,方法是將其作為參數傳遞。 但是當我這樣做時,function 會立即被調用。

 let myarr = [2,4,6,8]; function checkaverage() { let sum = 0; for (let i=0; i<myarr.length; ++i) { sum = sum + myarr[i]; } let averageis = sum/(myarr.length) averagealerter(averageis); } checkaverage(); function averagealerter(averageis) { alert("the average is "+ averageis) };

在這里,我將“averageis”變量作為參數傳遞給 function“averagealerter”以供以后使用。 但它會立即被調用。 我想要完成的是稍后使用“averagealerter()”來調用它。

let myarr = [2,4,6,8];

function checkaverage() {
  let sum = 0;
  for (let i=0; i<myarr.length; ++i) {
     sum = sum + myarr[i];
     } 
 let averageis = sum/(myarr.length)

 return averageis;
}

function averagealerter() {
  alert("the average is "+ checkaverage())
}

// call the averagealerter() function when required.

您可以將.bind變量綁定到averageis並返回averagealerter的副本。

然后,調用 function 來實現結果:

 let myarr = [2,4,6,8]; function checkaverage() { let sum = 0; for (let i=0; i<myarr.length; ++i) { sum = sum + myarr[i]; } let averageis = sum/(myarr.length) return averagealerter.bind(undefined,averageis); } function averagealerter(averageis) { alert("the average is "+ averageis) }; let myaveragealerter = checkaverage(); myaveragealerter();

您需要做的就是使 checkAverage function 返回一個值,以便該值可以通過調用 function 來用於其他函數,如下所示

 let myarr = [2,4,6,8]; function checkaverage() { let sum = 0; for (let i=0; i<myarr.length; ++i) { sum = sum + myarr[i]; } let averageis = sum/(myarr.length) return averageis; } function averagealerter() { alert("the average is "+ checkaverage()) }; averagealerter()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM