声明的这个函数名和我们之前声明的变量名没有任何区别 (function fn() 和 var fn 冲突)
空间中存储的是函数体中的代码, 但是此时的代码都是字符串中的字符而已
函数只创建而不执行没有意义: 因为空间中存储的都是毫无意义的字符串
fn() 函数执行: 把函数体中的代码执行
浏览器创建一个供函数中代码执行的私有环境 -> 私有作用域
把创建时候空间中存储的字符串拿来, 然后变成真正的 js 表达式代码, 然后执行
来源: http://www.jianshu.com/p/2470e2cb674b