前端面試題

閉包實現原理數組

當某個函數調用時會建立一個執行環境以及做用域鏈,而後根據arguments和其它命名參數初始化造成活動對象。
在外部函數調用結束後,其執行環境與做用域鏈被銷燬,可是其活動對象保存在了閉包之中,最後在閉包函數調用結束後才銷燬閉包

閉包的實現app

在函數中定義函數,而且內部函數引用了外部函數的變量,最後內部函數被返回函數

閉包的做用性能

咱們的函數可產生相似於塊級做用域的東西,內部的變量外部不可訪問,可是咱們須要提供訪問的接口,這個接口的實現便依賴於咱們的閉包this

閉包的問題對象

閉包的使用上須要注意,由於他會增大內存的負擔,對性能有一點影響,另外閉包有可能會有一些容易出錯的場景。接口

call 和 apply 的區別是什麼
call與apply是函數都具備的一個方式,其做用是能夠改變其this的指向,其調用方式有所不一樣。
call傳遞參數,apply以數組形式傳遞與arguments是一對好基友,建議使用。內存

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息