JavaScript:callback 回调函数和lambda表达式 作者:马育民 • 2025-03-09 22:21 • 阅读:10006 # 提出问题 有两个函数:函数 `teacher` 和 函数 `student`,`teacher` 函数让 `student` 函数搬100个凳子,并且每搬10个凳子,就告诉 `teacher` 函数 ### 分析 用传统方式只能实现一半功能,即:`teacher` 函数调用 `student` 函数 ``` function student(){ for(var i = 1;i<=100;i++){ console.log("搬第"+i+"个凳子") } } ``` ``` function teacher(){ student() } ``` ### 解决 需要在 `student()` 函数中定义形参,在 `teacher()` 函数调用 `student()` 函数时,传入回调函数,该回调函数是 lambda表达式 ``` function student(callback){ for(var i = 1;i<=100;i++){ console.log("搬第"+i+"个凳子") if(i%10 == 0){ callback("老师,我搬了"+i+"个凳子") } } } ``` ``` function teacher(){ student( s => console.log(s)) } ``` 原文出处:http://malaoshi.top/show_1GWjJIN1fUm.html