函数定义时:创建2个对象:函数对象和作用域链对象
函数对象:封装了函数的定义,但暂时不读取函数定义
**作用域链对象:专门保存函数可用的变量所在位置的对象
调用时:创建1个新对象:活动对象
活动对象:临时封装本次调用函数时使用的局部变量
并将活动对象的引用,压入作用域链对象中。
调用后:作用域链中的活动对象引用出栈
活动对象及其内部的局部变量一同释放!
http://www.cnblogs.com/lhb25/archive/2011/09/06/javascript-scope-chain.html