函数表达式

141 阅读1分钟

定义函数的方式有两种:函数声明 和 函数表达式。

函数声明

函数声明一个重要特征就是函数声明提升(function declaration hoisting),意思是在执行代码之前会先读取函数声明。这就意味着可以把函数声明放在调用它的语句后面。 

functionName();
function functionName(){
}

函数表达式

var functionName = function(){
}

这种情况下创建的函数叫做匿名函数(anonymousfunction),因为function关键字后面没有标识符。 

匿名函数

this对象

this对象是在运行时基于函数的执行环境绑定的。

在全局函数中,this等于window。

当函数被当作某个对象的方法调用时,this等于那个对象。

在通过call()或apply()改变函数执行环境的情况下,this指向其他对象