淺說預解析

2021-09-14 01:14:23 字數 622 閱讀 3580

全域性作用域:當瀏覽器載入html頁面的時候,首先會提供乙個全域性js**執行的環境.

//這個環境就是全域性作用域(window);

var num = 12;

var obj = ;

function fn()

fn();

預解析:在當前作用域中,js**執行之前瀏覽器首先會預設把所有帶var和function的進行提前的宣告或者定義.

1)理解宣告和定義

var num = 12;
宣告:declare:比如:上課,我們開始上課了,我講東西了麼?宣告只是告訴當前的作用域我有個變數 var num-->告訴瀏覽器的全域性作用域,有個乙個變數num;

var 預解析時:只宣告不定義(賦值);變數存在預設值 undefined;

定義:給我們的變數賦值

2)對於帶var 和function關鍵字的,在預解析的時候操作是不一樣的

var -> 在預解析的時候,提前宣告但未定義.預設值undefined;

function ->在預解析的時候,提前宣告+定義都完成了.

預解析機制

js在預解析階段先找所有宣告,如果是var 先給var後的變數定乙個undefind 如果是function 就把function當做字元創賦給函式名 如果名字形同的情況function會把覆蓋var 後面function會覆蓋前面function 1.定義 預解析 在當前作用域下,js執行之前,會...

作用域 預解析

作用域概念預解析規則 作用域 在一定的空間 範圍 區域對內容進行讀寫!瀏覽器 js解析器 1 會去找 var function引數等,a 未定義 所有變數,在正式執行之前 都提前賦了乙個值 未定義 fn1 function fn1 所有的函式,在正式執行 之前,都是整個函式塊 這種叫做js 預解析 ...

dns prefetch DNS預解析技術

今天在看乙個 的源 時 發現了 對dns prefetch有點兒好奇,因為不止一次地見到,今天終於忍不住要看看他到底是什麼技術?下面是在網上找到的一篇關於dns prefetch的簡述。dns 實現網域名稱到ip的對映。通過網域名稱訪問站點,每次請求都要做dns解析。目前每次dns解析,通常在200...