JS 函式執行機制

2021-09-11 16:57:13 字數 649 閱讀 5480

形成乙個私有的作用域

形參賦值

變數提公升,函式宣告

**執行

棧記憶體釋放與否

1、像普通函式一樣形成乙個私有作用域(棧記憶體)

2、【建構函式執行獨有】在js**自上而下執行之前,首先在當前形成的私有棧中建立乙個物件(建立乙個堆記憶體,暫時不儲存任何東西),並且讓函式中的執行主體(this)指向這個新的堆記憶體(this===建立的物件)

3、**自上而下執行

4、【建構函式執行獨有】**執行完成,把之前建立的堆記憶體位址返回(瀏覽器預設返回)

this.xx=xx  都是給例項設定私有屬性,只有它才和例項有關係,其他都是私有變數or全域性變數

5.建構函式執行,不寫return 瀏覽器會預設返回建立的例項,如果寫return

6.

in:檢測物件是否有某屬性

hasownproperty:檢測當前屬性是否是物件的私有屬性

haspubproperty:檢測當前屬性是否是物件的公有屬性

instanceof:物件是否是特定類的乙個例項

JS執行機制

js是單執行緒的,settimeout和setinterval是非同步任務,要掛起,不先執行,等同步任務完成之後,再去處理非同步任務 console.log 1 settimeout function 0 console.log 3 console.log 4 輸出 1 3 4 2console.l...

JS執行機制

輸出結果為 1,2,3 js是從上到下執行的 js是單執行緒的,即在同一時間只能做一件事情 遇到同步程式,直接執行 遇到非同步程式,先掛起,等同步程式執行完畢後再執行 同步佇列 優先順序最高 非同步佇列 遇到非同步佇列先掛起,等同步佇列執行完後,再選擇執行非同步佇列的某個 settimeout中的時...

JS執行機制

js單執行緒 在同一時間js只能做一件事。為什麼是單執行緒?如果多執行緒,同時操作乙個dom會出問題。非阻塞 event loop 事件迴圈 任務佇列 同步任務佇列要優先於非同步任務佇列處理。非同步任務被分為巨集任務和微任務。常見的非同步任務分類如下 巨集任務 定時器系列,dom事件 ui互動事件 ...