简单理解闭包
對于閉包,我也是一直在用,特別是在做項(xiàng)目的時(shí)候,下面就簡單講一下閉包
?
講到閉包就必然要講到作用域,我們都知道在JavaScript中,變量的作用域是由它所在原代碼中的位置決定的,并且嵌套的函數(shù)可以訪問到它外面的變量
function init(){var name = "rongyang";function displayname(){alert(name);}displayname();}init();還有一點(diǎn)就是,在函數(shù)的內(nèi)部可以調(diào)用外部的函數(shù),而在外部卻無法訪問函數(shù)內(nèi)部的變量,那我們需要調(diào)用內(nèi)部的變量時(shí)怎么辦呢?
這我們就需要用到閉包,在函數(shù)內(nèi)部在聲明一個(gè)函數(shù),并返回它。
function makeFunc() {var name = "rongyang";return function() {alert(name);}}var myFunc = makeFunc();alert(myFunc);所以簡單來說,閉包就是可以訪問其他函數(shù)內(nèi)部變量的函數(shù),又因?yàn)樵趈s中只有函數(shù)內(nèi)部的子函數(shù)可以訪問到局部變量,所以又稱閉包為定義在函數(shù)內(nèi)部的函數(shù)。
?
轉(zhuǎn)載于:https://www.cnblogs.com/rongy/p/6666896.html
總結(jié)