In javascript, a function is also an object, it has properties too. 最主要的不同的是function會(huì)有一個(gè)代碼塊竟纳。
javascript 在最開始的運(yùn)行階段會(huì)hoisting 所有的variable 和 function撵溃, 然后就是順序執(zhí)行javascript代碼。
在function 被invoke的時(shí)候锥累,一個(gè)新的Execution context就被創(chuàng)建出來了缘挑,注意this會(huì)指代上一層objcet,下圖給出了context:
image.png
- function statement
- function expression