你说对了,这就是语法规则,而且其实这两者是可以互换的,但是前者本身属于函数定义语句,后者属于赋值表达式,所以后者需要封号。
这两个都可以不加分号。。。。
函数声明不加分号是应该的,因为}就是一条完整语句的结束符。你加个分号,最多只相当于多了一条没有任何代码的语句,空的。
而函数表达式和其它表达式一个道理,类似于var i=0这样的,加不加分号都行,但如果没有加,js会帮你加上的。建议该加的地方加,不该加的地方不要加,因为让js帮你加分号,是一种危险的行为,详细请自己搜一下。
编码规范,没有硬性的强调。只是让代码能更容易去看或者修改