js之預編譯
阿新 • • 發佈:2018-11-08
預編譯過程 1.建立AO物件 2.找形參和變數宣告,將變數和形參名作為AO屬性名,值為undefined 3.將實參值和形參統一 4.在函式體裡面找函式宣告,值賦予函式體
程式碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script type="text/javascript"> b=10; console.log(b);//結果-->10 var b; function a(a) { console.log(a);//結果--->9 var a=11; var b; console.log(b);//結果---->function{} b=12; function b() { } console.log(b);//結果--->12 } a(9); </script> </body> </html>
過程:
GO{ a:undefined--->function{} } 開始執行: GO{ a:10 } AO{ a:undefined--->9 b:undefined }