js預解釋(預編譯):在Javascript真正被解析之前, js解析引擎會首先把整個文件進行預處理, 以消除一些歧義. 這個預處理的過程就被稱為預解釋
- 在瀏覽器環境中,
js引擎
會整合<script>
標簽中的內容, 產生window對象
, 這個window對象就是全局對象 - 在node環境中, 會產生
global對象
全局變量:
在<script>
標簽中聲明的變量為全局變量
, 全局變量會作為window
對象的屬性存在!!
var a = 100
console.log(a)
console.log(window.a)
這里打印a實際上相當于打印window
對象的a屬性
整合:因為js引擎
會把所有的<script>
標簽整合到一起, 生成唯一的一個window
對象,所以下面的代碼第二個script標簽中的a值為100
<script>var a = 100console.log(a)console.log(window.a)
</script>
<script>/