說一下你對閉包的理解,以及你在什麼場景會用到閉包?

2021-10-06 21:35:30 字數 352 閱讀 2757

理解:

簡單來說,閉包就是在函式裡面宣告函式,實際開發中主要應用於封裝變數保護變數不受外界汙染,也相當於是在函式作用域裡面再宣告乙個內部作用域,這樣執行結果拿到的變數都是不同的,拿的就不是全域性變數。

特性:函式內部巢狀函式

缺點:閉包容易消耗記憶體

注意:子函式可以訪問父函式中所有的區域性變數,,但是父函式不能訪問子函式的變數

建立:建立閉包最常見的方式就是在乙個函式內建立另乙個函式,通過另乙個函式訪問這個函式的區域性變數,利用閉包可以突破作用域鏈,將函式內部的變數和方法傳遞到外部。

說一下你對MVC的理解?

mvc是model view controler的簡稱。即模型 檢視 控制器。mvc是一種設計模式,它強制性的把應用程式的輸入 處理和輸出分開。mvc中的模型 檢視 控制器它們分別擔負著不同的任務。model 處理業務邏輯的模組。如service dao entity view 負責頁面顯示,顯示m...

42 談談你對閉包的理解?

再說說閉包之前,先說一說什麼是外函式,什麼是內函式?外函式 函式a的內部定義了函式b,那麼函式a就叫做外函式 內函式 函式b就叫做內函式 什麼是閉包?在乙個外函式中定義了乙個內函式,內函式裡運用了外函式的臨時變數,並且外函式的返回值是內函式的引用。這樣就構成了乙個閉包。一般情況下,在我們認知當中,如...

考察一下你對js繼承鏈的理解

請深入理解下面的程式,並解釋輸出結果 執行環境 maxos,node v6.3.1,非嚴格模式執行 var print function input function foo return this foo.getname function foo.prototype.getname functio...