匿名函数(回调函数)的理解思路

来源:互联网 发布:sql server 2000数据库 编辑:程序博客网 时间:2024/06/05 13:33
<script>//普通函数/*function box(){return 'abc'}window.alert(box());*//*匿名函数:就是没有给名称的函数或者名称被隐藏的函数;function(){return 'abc';}单独使用会报错;就算能够运行,也不能够调用,因为没用函数名;*//* //把匿名函数赋值给变量的做法var box=function(){return 'abc';};//这是一个语句,所以结束会有一个分号;window.alert(box);//打印出的是box的整个函数体;*//* 第一步:先构造一个匿名函数//function(){return 'abc';}*//*第二步:函数要执行的是'XXX()'的形式;所以下面执行函数:function() {return 'abc';}();放在一行上是为了好看;换行不影响;然而,这样并不能执行,执行控制台会报错;正常执行函数"XXX()"的括号前是一个表达式;而此处的括号前是一个函数:function(){return 'abc';} 说要执行这个还得进行第三步;*/ /*第三步:给括号前的表达式加上();(function(){return 'abc';})();形式:(匿名函数)();第一个括号装匿名函数;第二个括号执行;这样就可以执行了;但是函数体return;看不到结果;可以写成aler('abc');   即(function(){alert('abc');})();*//* 由于函数一般是return来做返回的;所以上面的代码可以改成如下:把匿名函数自我执行之后的值传给一个变量;然后打印var box = (function(){return 'abc';})();alert(box);//abc当然也可以直接利用alert打印匿名函数自我执行之后的值alert((function(){return'abc';})());//abc*/ /* 第四步:自我执行匿名函数的传参(function(age){alert(age);})(100); //100*//*闭包:函数里面放函数;1、一个普通函数里面放一个匿名函数;function box(){return function(){return 'abc';}}alert(box);//执行结果function box(){return function(){return 'abc';}}//function box(){return function(){return 'abc';}}alert(box());//执行结果function(){return 'abc';}//function box(){return function(){return 'abc';}}alert(box()());//执行结果  abc*//*另一种理解方法:借用第三方变量获得box函数的返回值 function(){return 'abc';}function box(){return function(){return 'abc';}};var b = box();alert(b); 然后在利用b();去执行获得返回值;从而获得结果 abcfunction box(){return function(){return 'abc';}};var b = box();alert(b());*/</script>

0 0
原创粉丝点击