我正在重构遗留代码。我可以看到 for 函数同时使用了声明和表达式。我知道声明是提升的,表达式是逐步执行的。还有命名函数表达式,但我无法使用它们,因为 IE8 存在问题。所以,我的问题是:
我可以用表达式替换所有函数声明吗?这种更换是否存在任何明显或可能的问题?我想使用表达式,在文件顶部定义它们。
为什么要使用表达式?声明提供了在生成的错误堆栈跟踪中查看函数名称的好处(如果您将表达式与匿名函数一起使用,则不会这样做),如果您使用表达式,您也可能会遇到递归问题。