繁体   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