日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS运行三部曲

發布時間:2023/12/10 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS运行三部曲 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 語法分析

  • 預編譯

  • 解釋執行

  • 下面兩句話能解決問題,但解決不了深入的問題,其實原理是? 預編譯產生的兩個現象(規律)。

    • 函數聲明整體提升
    • 變量?? 聲明提升

    預編譯前奏

    imply global 暗示全局變量:即任何變量,如果變量未經聲明就賦值,此變量就為全局對象所有(全局對象是window)。

    eg: a = 123;

    eg: var a = b = 123;?? 這里的 b 是沒有聲明的,所以歸window所有,所以如果這個表達式出現在局部函數,那么b會變成全局變量,而a是局部變量,值都是123

    一切聲明的全局變量,全是window的屬性。

    eg: a = 123;?? 相當于? window.a = 123;

    window就是全局的域

    預編譯

    eg - 預編譯前:

    預編譯發生在函數執行前的前一刻

  • 創建AO對象(Activation Object)
  • 找形參和變量聲明,將變量和形參名作為AO屬性名,值為undefuned
  • 將實參值和形參統一
  • 在函數體里面找函數聲明,值賦予函數體
  • eg - 預編譯后:

    全局的預編譯原理是一樣的,只是對象是GO(Global Object),window其實是GO的引用

    2013百度面試題--

    ?

    ?

    總結

    以上是生活随笔為你收集整理的JS运行三部曲的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。