浅谈一下,有关函数的小知识

1.函数声明和函数表达式

foo();//正常运行,函数声明的提升,因为foo在代码运行前就被创建啦
function foo(){};
foo();//出错,赋值语句只在运行时执行,此时的foo为 undefined
var foo=function(){};

2.命名函数的赋值表达式

var foo = function bar() {
    bar(); // 正常运行,函数名在函数内总是可见的
}
bar(); // 出错:ReferenceError,bar已经赋值给了foo
原文地址:https://www.cnblogs.com/liliy-w/p/9009521.html