javaScript中的回调函数

javaScript中的回调函数

 

直接用一个实例来解说

回调函数要是完全明白了,对代码的理解已经很深了

 1 <!--  
 2 
 3     (阿童木与小丸子的博客实例)
 4 
 5     函数既是一个数据类型,也是一个对象,本身还是函数,最终返回一个值,本质上,我们用的是函数的返回的那个值,不调用,不执行,把值返回到调用出
 6 
 7     java中声明变量的地方,都可以用类来代替
 8 
 9     回调函数
10        这里涉及匿名函数,和变量函数的知识推导出来的,还有形参变量和实参的对应的问题
11 
12 --!>
13 
14 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
15 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
16 <head>
17     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
18     <title></title>
19 </head>
20 <body>
21     <script type="text/javascript">
22 
23         //声明一个函数
24         function run(n1,n){
25         //这里的形参可以是任何东西,弱类型语言
26          return n1 + n(n1);
27         }
28         //函数的调用
29         var num = run(10,function(a){//在js中,在函数调用是实参的地方,直接声明一个函数,别忘了函数也是对象
30         //回调函数:方法的参数是一个函数的时候,就叫回调函数,也就是函数的递归调用
31          return a;
32         });
33 /*        
34        对这个回调函数进行详细的步骤说明
35 
36        1  函数的调用处开始看,因为函数调用才可以执行
37        2  可以看出调用出是一个变量的声明,此变量的名字为num,在调用run方法的时候,给这个变量赋值的是传入的两个实参,第一个是一个数,第二个是一个函数,而函数最终返回的值也是一个数,所以我们我求出这个实参函数的值是多少
38        3  对于run方法,可以看出方法中的形参n就是function(a)这个函数,知道n1是10,也就可以知道a是10。然后num方法就可以写成
39           var num = run(10,10);
40        4  这样很明显再次带入到上面的run函数中,很容易可以得出结论为,num的值是20
41        
42        (阿童木与小丸子的博客实例)
43 
44 */
45         alert(num);
46     </script>
47 </body>
48 </html>

 

posted @ 2015-08-23 01:52  ~铁臂阿童木~  阅读(162)  评论(0编辑  收藏  举报