JS-預解析

JS預解析是什麼?

在當前的作用域下,js運行之前.會有帶有 var 和 function關鍵字的代碼事先聲明,

並在內存中安排好,然後從上到下的執行js代碼.

JS預解析 js逐行執行

js對什麼進行預解析

1> var 後面的變數

2> 函數

3> 函數傳參的變數

1.通過var關鍵字定義的變數進行預解析的時候,都是聲明declare,不管他有沒有賦值,都會賦值為undefined。

凡是傳參,直接賦值

alert(a);

var a = 1;

alert(b);

var b = function(){

}

alert(c);

var c;

2.function進行預解析的時候,聲明而且定義了define,但它存儲數據的那個空間存儲的是代碼是字元串,沒意義

Advertisements

alert(a);//函數的字元串

function a(){

alert("預解析的function1")

}

3.預解析中想實現立即執行的函數 放到()一對括弧當中去

(function fn(){

alert("預解析的function1")

}(2));閉包

(function(){

alert("預解析的function2")

}());

js在什麼情況下會進行預解析

1.遇到<script><\script>標籤對時

2.遇到函數時:因為變數是有作用域的。

什麼情況下會改變預解析賦予的初始值?

有賦值功能的符號 = += *= /= ++ --

Advertisements

你可能會喜歡