當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
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 - 預編譯前:
預編譯發生在函數執行前的前一刻
eg - 預編譯后:
全局的預編譯原理是一樣的,只是對象是GO(Global Object),window其實是GO的引用
2013百度面試題--
?
?
總結
- 上一篇: 数组追加数组,小程序数组里面追加数组如何
- 下一篇: android屏幕适配无效_Androi