匿名函数又被称为引用式函数定义或者函数表达式。
习惯上,我们把声明式函数称作为函数常量,把赋给变量的匿名函数称作为函数对象,把引用了函数对象的变量称为函数引用。
下面看一下它们的区别:
- function dwn(s){
- document.write(s+"<br/>");
- }
- function t1(){dwn("t1");} //声明式函数
- t1();
- function t1(){dwn("new t1");} //重新声明了一个新的t1
- t1();
- t1=function(){dwn("new new t1");} //用函数表达式给t1重新赋值
- t1();
- 执行结果如下:
- new t1
- new t1
- new new newt1
上面的代码执行后依次得到new t1 ,new t1,new new t1,而不是t1,new t1和new new t1,这是因为,声明式函数定义的代码先于函数执行代码被解析器解析,而引用函数定义,或者函数表达式则是在函数运行中进行动态解析的。
转载于:https://blog.51cto.com/265971/910189