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