[英]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.