定义函数的方式有两种:函数声明 和 函数表达式。
函数声明
函数声明一个重要特征就是函数声明提升(function declaration hoisting),意思是在执行代码之前会先读取函数声明。这就意味着可以把函数声明放在调用它的语句后面。
functionName();
function functionName(){
}
函数表达式
var functionName = function(){
}
这种情况下创建的函数叫做匿名函数(anonymousfunction),因为function关键字后面没有标识符。
匿名函数
this对象
this对象是在运行时基于函数的执行环境绑定的。
在全局函数中,this等于window。
当函数被当作某个对象的方法调用时,this等于那个对象。
在通过call()或apply()改变函数执行环境的情况下,this指向其他对象