匿名函數的自調函數格式:
(function(){ //代碼 })();
<script type="text/javascript"> (function(){ alert("this is a test"); })(); </script>
帶參
(function(a,b){ alert(a+b); })(3,5);
函數表達式可以存儲在變量中,變量也可以作為一個函數使用
可以將匿名函數作為參數傳遞給其它函數,接收方函數就可以通過所傳遞進來的函數完成某些功能
可以通過匿名函數來執行某些一次性的任務
<!doctype html> <html> <head> <meta charset="utf-8"/> <title></title> </head> <body> <script type="text/javascript"> //測試編碼URI的函數 var test1=function(x,y){return x*y;}; var test2=function(x,y){return x+y;}; alert(test1(3,5)); alert(test2(2,6)); </script> </body> </html>
<script type="text/javascript"> //測試編碼URI的函數 //var test1=function(x,y){return x*y;}; //var test2=function(x,y){return x+y;}; //alert(test1(3,5)); //alert(test2(2,6)); //回調函數的例子 function calc(x,y){ return x()+y(); } function test3(){ return 3; } function test4(){ return 5; } //alert(calc(test1,test2)); alert(calc(function(){return 10;},function(){return 5;})); </script>
函數返回15
乘2 加1
<!doctype html> <html> <head> <meta charset="utf-8"/> <title></title> </head> <body> <script type="text/javascript"> //乘2 function cheng2(a,b,c){ var i,arr=[]; for(i=0;i<3;i++){ arr[i]=arguments[i]*2; } return arr; } function jia1(a){ return a+1; } var arr1=[]; arr1=cheng2(20,30,50); alert(arr1); for(var i=0;i<3;i++){ arr1[i]=jia1(arr1[i]); } alert(arr1); </script> </body> </html>
function addOne(a){ return a+1; } function test(a,b,c,callback){ var i,arr=[]; for(i=0;i<3;i++){ arr[i]=callback(arguments[i]*2); } return arr; } alert(test(5,6,7,addOne));
alert(test(5,6,7,function(a){return a+2}));
系統中自定義的回調函數call()和reply()