回调:函数如何访问其他函数?
Callbacks: How do Functions Access other Functions?
嗯,先看我的代码:
function cubosSuma(a,b,callback) {
var res = (a*a*a)+(b*b*b);
callback(res);
}
function resultado(res) {
console.log(res);
};
cubosSuma(3,2,resultado); //line 8;
我想理解的是为什么我可以在 cubosSuma 中调用 'resultado'(第 8 行),如果它应该是一个函数有它自己的范围。我的意思是,为什么可以从另一个函数进入 callback(res)?
函数 resultado
在最后一行代码中使用之前定义,因此您的程序就是这样知道它是什么的。这对 Javascript 并不重要,因为 Javascript 使用提升,您可以在 https://www.w3schools.com/js/js_hoisting.asp
阅读更多相关信息
callback
在 cubosSuma
函数中只是一个占位符名称...当您在代码的最后一行调用 cubosSuma
时,它会替换占位符 callback
使用您传递给它的函数...这是 resultado
在其他函数中使用函数是 Javascript 的一个特性,并且一直如此。有关详细信息,请参阅这篇 SO 文章 - Calling a Function defined inside another function in Javascript
嗯,先看我的代码:
function cubosSuma(a,b,callback) {
var res = (a*a*a)+(b*b*b);
callback(res);
}
function resultado(res) {
console.log(res);
};
cubosSuma(3,2,resultado); //line 8;
我想理解的是为什么我可以在 cubosSuma 中调用 'resultado'(第 8 行),如果它应该是一个函数有它自己的范围。我的意思是,为什么可以从另一个函数进入 callback(res)?
函数 resultado
在最后一行代码中使用之前定义,因此您的程序就是这样知道它是什么的。这对 Javascript 并不重要,因为 Javascript 使用提升,您可以在 https://www.w3schools.com/js/js_hoisting.asp
callback
在 cubosSuma
函数中只是一个占位符名称...当您在代码的最后一行调用 cubosSuma
时,它会替换占位符 callback
使用您传递给它的函数...这是 resultado
在其他函数中使用函数是 Javascript 的一个特性,并且一直如此。有关详细信息,请参阅这篇 SO 文章 - Calling a Function defined inside another function in Javascript