1. 程式人生 > >JS函式預解析(小記)

JS函式預解析(小記)

一,預解析:尋找var  function  形參
     a=undefined
    fn = function fn(){

  alert();

 }  
二,逐行解讀程式碼:
    1.表示式
    2.函式呼叫(作用域)
        一 預解析:尋找var function 形參
        二 逐行解讀程式碼:
  第二種情況 //當變數與函式名字相同時,丟變數,保函式
  第三種情況 //多script標籤時,從上到下依次解析並解讀每一個作用域。
  第四種情況//作用域鏈 : 執行表示式時,先在自己預解析中找,如果沒有找到,會向它的父級作用域找,如果找不到,報錯。
  第五種情況//執行表示式時,找到了變數,則隻影響作用域,並賦值undefined。
  第六種情況//執行表示式時,找到了形參,同上。
  第七種情況//執行表示式時,同時有實參和形參時,實參傳遞給形參變數。
  第八種情況//執行表示式時,區域性賦值變數,區域性和全域性沒有宣告變數,那麼全域性自動生成變數並且賦值。