天天看点

JavaScript 函数声明和函数表达式

Javascript Function无处不在,而且功能强大!通过Javascript函数可以让JS具有面向对象的一些特征,实现封装、继承等,也可以让代码得到复用。但事物都有两面性,Javascript函数有的时候也比较“任性”,你如果不了解它的“性情”,它很可能给你制造出一些意想不到的麻烦(bugs)出来。

有两种方式有函数声明和函数表达式。

函数声明

function a(){
 
 }
           

函数表达式

var a = function(){

}
           

用***函数声明***创建的函数a可以在a定义之前就进行调用。

而用***函数表达式***创建的a函数不能在a被赋值之前进行调用。

为什么会这样呢?!

这就要理解Javascript Function两种类型的区别:用函数声明创建的函数可以在函数解析后调用(解析时进行等逻辑处理);

而用函数表达式创建的函数是在运行时进行赋值,且要等到表达式赋值完成后才能调用。

继续阅读