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);