<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /*I总结: 1.函数名可以做变量使用,可以赋值,可以传值 2.函数名当参数,传递给另一个函数 */ //==================js中函数的两种定义方式和函数变量赋值================ //在javascript中定义一个函数就可以理解成定义了一个变量 //js中的变量时弱类型的哦。 //----------1 //function add1(){ //alert("add1"); //} //那么函数作为一个变量,就可以作为参数,是add1指向了这个代码块在内存中存储的首地址 var add1=new Function("alert(‘add1‘);");//--------2 //以上1,2的写法是完全等价的,是js中声明函数的两种方式 //实际上,是add1指向了这段函数代码块,在内存中存储的首地址。 //至于具体如何存储,堆或栈,这里不多做研究了。 var addtt=add1;//函数名当变量使用,可以赋值,也可以传值 //addtt 指向了函数体 addtt(); //==================js中函数的两种定义方式和函数变量赋值================ //==================将函数变量作为参数传递=========================== //基本格式: function add2(fun){ //将函数名作为参数传递 fun(); } add2(add1); //-------------------------------------- //函数名作参数使用,同时接受参数的情况演示的啦 function add(a){ return n+10; } //a:数字,fun:函数 function addTest(a,fun){ var t=fun(a); return t; } var tt=addTest(22,add);//这样的写法也是ok的啦 alert(tt); //==================将函数变量作为参数传递=========================== </script> </head> <body> </body> </html>
JavaScript中的函数的两种定义方式,布布扣,bubuko.com
原文地址:http://blog.csdn.net/hymking/article/details/25477327