如何在不调用javascript函数的情况下将参数传递给另一个函数?

时间:2019-11-13 05:46:53

标签: javascript

我正在尝试通过将一个函数作为参数传递后,将一个函数从一个函数传递到另一个函数后传递变量。但是当我这样做时,该函数立即被调用。

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()”将其命名。

3 个答案:

答案 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()