您的位置:首页 > Web前端 > JavaScript

js中函数表达式和函数声明

2016-07-11 11:16 399 查看
本文为阅读博文http://wiki.jikexueyuan.com/project/javascript-garden/function/general.html后总结而得

函数声明

函数声明会在执行前被解析,所以即使在调用的代码后进行函数声明,依然能够正常运行该函数
foo(); // 正常运行,因为foo在代码运行前已经被创建
function foo() {}


函数表达式

在执行前会解析其将要赋值到的变量,而赋值这一活动则要到真正执行程序时才会运行。在运行到赋值语句之前,存在变量,但变量值为undefined。
foo; // 'undefined'
foo(); // 出错:TypeError
var foo = function() {};

命名函数的赋值表达式

var foo = function bar() {
bar(); // 正常运行
}
bar(); // 出错:ReferenceError
由于bar函数已经赋值给了foo,所以bar在函数外是不可见的,但在函数内是可见的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: