深入了解javascript中的函数:
    首先我们来看一下创建函数的一些方法
   
1 function func1(){..}
2 var func2=function(){}
3 var func3=function func4(){}
4 var func5=new Function(){}
     javascript执行的时候,每个函数都被维护成为一个对象.而函数对象对应的类型是Function 正如日期对象对应的类型是Date 因此我们可以像创建一个日期
     对象var date=new Date()一样创建函数对象,var func=new Function(param1,param2,body)
    下面的代码是等价的
  
function func(a,b)
    {
       alert(a
+b);
    }
     func(
1,1);

    --------------------
    var func=new Function("a","b","alert( a+b)");
    func(
1,1)

    再看下面两段代码:
 
  function func(a,b)
    {  
       alert(a
+b);
    }
    func(
1,1);
---------------------------
    
var func=function(a,b)
    {
           alert(a
+b);
    }(
1,1)

   毋庸置疑肯定会弹出2  分析一下上面的代码
     var func=function(a,b)
    创建一个无名函数,只是让一个变量 func 指向了这个无名函数.
    需要注意的就是调用有名函数可以在其声明之前调用

    func(1,1);
    
function func(a,b)//有名函数
    {  
       alert(a
+b);
    }
    甚至下面代码也可以正常运行
   

func1();
var func=function func1()
{
  alert(
1);
}
    而调用无名函数必须在其声明之后调用 下面代码不能运行
func(
1,1)l
     
var func=function(a,b)
    {
           alert(a
+b); //将会产生func未定义错误。
    }

  
转载请注明出处:http://www.liebo6.com