企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**函数是一种数据类型。** ~~~ function f(){ return 1; } ___________ //函数标识记法 var f=function { return 1; } ~~~ 匿名函数 适合执行一次性或初始化的任务。 **回调函数** 将函数A传递给函数B,并由B来执行A时,A就成了一个回调函数。 若A是匿名函数,则称为匿名回调函数。 使用场合: 不做命名的情况下,传递函数。,可节省全局变量。 可将一个函数调用委托给另一个函数,意味着可节省代码编写。 提高性能。 ![](https://box.kancloud.cn/335fba7630d0759177a05e6358126632_190x158.png) ~~~ function multiplyByTwo(a, b, c, callback) { var i, ar = []; for (i = 0; i < 3; i++) { ar[i] = callback(arguments[i] * 2); } return ar; } function addOne(a) { return a + 1; } myarr = multiplyByTwo(1, 2, 3, addOne); // [3, 5, 7] 匿名函数 myarr = multiplyByTwo(1, 2, 3, function(a){return a+1}); //[3, 5, 7] 可根据需要调整代码 myarr = multiplyByTwo(1, 2, 3, function(a){return a+3}); //[5, 7, 9] ~~~ ![](https://box.kancloud.cn/071cb7fd0226c8ae5cf88bdae157f72f_331x217.png) **自调函数** ~~~ ( function() { alert(1); } )() ~~~ 第二对括号起到立即调用的作用,同时也是向匿名函数传递参数的地方。 ~~~ ( function(name){ alert('hello '+name+'!'); } )('qwe') ~~~ **内部(私有)函数** 好处: 确保全局名字空间的纯净性; 私有性。 **返回函数的函数** ~~~ function a() { alert(2); return function() { alert(3); }; } a()() ~~~ **能重写自己的函数** 执行一次性初始化工作 的函数。 ~~~ var qq = function() { function aa() { var we = '456' }; function bb() { alert('ui') }; aa(); return bb; }(); qq() ~~~