一、如图

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不在表示该方法,而是表示返回的新类了。

三、可参考地址