我正在尝试通过将一个函数作为参数传递后,将一个函数从一个函数传递到另一个函数后传递变量。但是当我这样做时,该函数立即被调用。
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”变量作为参数传递给函数“ averagealerter”,以备后用。但是它马上被调用。我要完成的工作是稍后使用“ averagealerter()”将其命名。
答案 0 :(得分:1)
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.
答案 1 :(得分:0)
您可以将.bind
的{{1}}变量averageis
并返回该函数的副本。
然后,调用该函数以获取结果:
averagealerter
答案 2 :(得分:-1)
您需要做的就是使checkAverage函数返回一个值,以便只需调用如下函数即可将该值用于其他函数
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()