初学者,研究别人代码的时候看到类似的用法,于是自己也写了下:
function output(a) {
console.log( "The function filter return " + a + "!");
}
x = function(data, fun) {
a = data;
fun(a);
};
theInput = " TEXT FROM INPUT ";
x(theInput, output);//The function filter return TEXT FROM INPUT !
这种用法有什么专业名称吗?
传递函数通常是为了创造更加简洁的API,使用不当可造成闭包导致内存无法释放,以及代码难以理解等问题。
回调函数是最老的一种解决异步编程的方式,更好的有Promise方式,es6内置的Promise和yield,es7的async/await规范。
推荐一个repo:https://github.com/jonathanong/async-control-flow 里面有slider和习题
callback
简单理解callback 稍微深入一点 js中func也是一种普通的数据类型 可以作为函数返回 可以作为参数传给另一个函数 你这儿就属于这种情况
回调函数吧。
这样的用法体现不出它的作用。
你可以去看看ajax的回调函数是如何工作的。