函数声明方式及作为值的函数

 1 //Function
 2 //1、函数声明方式
 3 function box(num1,num2){        //普通函数声明方式
 4     return num1+num2;
 5 }
 6 alert(box(1,2));
 7 
 8 
 9 var box=function(num1,num2){        //使用变量初始化函数
10     return num1+num2;
11 }
12 alert(box(1,2));
13 
14 
15 var box=new Function('num1','num2','return num1+num2');        //使用new运算符的构造函数来声明函数
16 alert(box(1,2));
17 alert(typeof box);
18 PS:不推荐这种,因为会解析两次代码。
19 
20 
21 
22 
23 //2、作为值的函数
24 
25 //接下来这个不是做为函数传递,而是作为函数的返回值传递
26 function box(sum,num){
27     return sum+num;
28 }
29 function sum(num){
30     return num+10;
31 }
32 var result=box(sum(10),10);        //sum(10)传递的是函数的返回值,和普通变量一样,没有区别
33 alert(result);
34 
35 
36 
37 //要把函数本身作为参数传递,而不是函数的结果
38 
39 function box(sum,num){
40     return sum(num);
41 }
42 function sum(num){
43     return num+10;
44 }
45 var result=box(sum,10);        //这里sum是一个函数,当作参数传递到另外一个函数里,而不是函数的返回值
46 alert(result);
View Code

 

posted @ 2013-10-22 12:58  白小虫  阅读(191)  评论(0编辑  收藏  举报