In javascript, a function is also an object, it has properties too. 最主要的不同的是function会有一个代码块。
javascript 在最开始的运行阶段会hoisting 所有的variable 和 function, 然后就是顺序执行javascript代码。
在function 被invoke的时候,一个新的Execution context就被创建出来了,注意this会指代上一层objcet,下图给出了context:
- function statement
- function expression