一、如图
1、异常
2、正常
二、内容
1、调用顺序不同
- 1、var a=function:匿名函数的定义方法,若是在定义之前调用了,系统会报错。
- 2、function b:该方法的定义是全局性的,就算在调用之后定义,系统也不会报错。
2、初始化不同
- 1、var a=function:只用运行到这个方法时才能对变量a进行初始化,若是没有对变量a初始化,则会报错。此时,a代表后面匿名函数的返回值。
- 2、function b:系统在执行到该方法时再去找该方法的定义位置进行初始化。
3、特点不同
- 1、var a=function:在javascript中,方法被当作一个类来处理,这中定义方式下,a即带表了这个方法的类,也就是这个方法本身。
- 2、function b:若是在该方法中,返回值为数组、方法、或是别的类,那么b不在表示该方法,而是表示返回的新类了。
三、可参考地址
- var a=function和function a有什么区别
- JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() 有什么区别?
- function a(){} 和 var a = function(){}的区别
- 或者百度搜索输入
function a 与 a= function 的区别
,然后搜索