匿名函数又被称为引用式函数定义或者函数表达式。

习惯上,我们把声明式函数称作为函数常量,把赋给变量的匿名函数称作为函数对象,把引用了函数对象的变量称为函数引用。

下面看一下它们的区别:

 

  1. function dwn(s){  
  2.      document.write(s+"<br/>");  
  3. }  
  4. function t1(){dwn("t1");}   //声明式函数  
  5. t1();  
  6. function t1(){dwn("new t1");} //重新声明了一个新的t1  
  7. t1();  
  8. t1=function(){dwn("new new t1");} //用函数表达式给t1重新赋值  
  9. t1();  
  10.  
  11. 执行结果如下:  
  12.  
  13. new t1  
  14. new t1  
  15. new new newt1 

上面的代码执行后依次得到new t1 ,new t1,new new t1,而不是t1,new t1和new new t1,这是因为,声明式函数定义的代码先于函数执行代码被解析器解析,而引用函数定义,或者函数表达式则是在函数运行中进行动态解析的。